USANDO O LIKE

NEGRON 11/10/2009 22:15:21
#325066
Boa noite Galera!!!!!!!!!

Galera a minha dúvida é a seguinte

fiz uma tela de consulta onde estou utilizando o LIKE para fazer as pesquisas, mas estou tendo um problema, no cadastro as vezes digital em maiusculo ou minusculo e na hora de fazer a filtragem ele só acha os que tá em maiúsculo ou vice versa.

Como conseguirei resolver essa situação

AGRADEÇO O APOIO
TECLA 11/10/2009 22:30:45
#325067
Resposta escolhida
Você só esqueceu de mencionar o BANCO DE DADOS.
Bom, vou citar um exemplo com SQL SERVER.

  • Maiúscula
    SELECT * FROM Tabela WHERE UPPER(Coluna) LIKE 
  • [ô]%VALOR%[ô]

  • Minúscula
    SELECT * FROM Tabela WHERE LOWER(Coluna) LIKE 
  • [ô]%valor%[ô]

    Teste e retorne o resultado.
    DANIKULL 11/10/2009 22:31:42
    #325068
    NEGRON, boa noite.

    Para resolver estes casos adote sempre um padrão na hora de gravar os dados na tabela. No meu caso eu sempre gravo os dados em maiúsculo pois assim evito problemas com nomes pessoais.....

    Agora para você resolver sua consulta acrescente uma variavel que irá receber o valor para a consulta e antes de passar o valor para esta variável faça mais ou menos assim:

    Dim Parametro As String

    Parametro = UCase(Text1.Text)


    OK????

    Tenta ai e qualuqer coisa vc reporta novamente.....


    JWCELYO 11/10/2009 22:32:09
    #325069
    não fonciona em MySQL

    SELECT id, nome, obs
    FROM Clientes
    WHERE (nome LIKE ? + [ô]%[ô])
    NEGRON 11/10/2009 22:36:47
    #325070
    Boa Noite Amigos
    Galera deem uma olhada no meu código
      
    Public Function FILTROPROP(Carregarprop As Object, Optional ByVal PEGANDOPROP As String) As Boolean
    Set TABPROPRIETARIO = New ADODB.Recordset
    FILTROPROP = False
    Dim ALTERPROP As String
    Dim ALTERNOME As String
    [ô]ALTERNOME = UCase(NOMEPROP)
    [ô]ALTERPROP = StrConv(PEGANDOPROP, vbUpperCase)
    TABPROPRIETARIO.Open [Ô] SELECT CODIGOPROP,NOMEPROP,ENDERECOPROP,NUMEROPROP,BAIRROPROP,CIDADEPROP,CEPPROP,UFPROP,ESTCIVILPROP,NASCIMENTOPROP,CPFPROP,RGPROP,FONE1PROP,FONE2PROP,EMAILPROP from PROPRIETARIO WHERE NOMEPROP LIKE [ô]%[Ô] & UCase(PEGANDOPROP) & [Ô]%[ô][Ô], CONECTABANCO
    If Not TABPROPRIETARIO.EOF Then
    Do While Not TABPROPRIETARIO.EOF
    Set LISTAGEM = Carregarprop.ListItems.Add(, , (TABPROPRIETARIO.Fields(0)))
    LISTAGEM.SUBITEMS(1) = Trim(TABPROPRIETARIO.Fields(1))
    LISTAGEM.SUBITEMS(2) = Trim(TABPROPRIETARIO.Fields(2))
    LISTAGEM.SUBITEMS(3) = Trim(TABPROPRIETARIO.Fields(3))
    LISTAGEM.SUBITEMS(4) = Trim(TABPROPRIETARIO.Fields(4))
    LISTAGEM.SUBITEMS(5) = Trim(TABPROPRIETARIO.Fields(5))
    TABPROPRIETARIO.MoveNext
    Loop
    FILTROPROP = True
    End If
    TABPROPRIETARIO.Close
    Set TABPROPRIETARIO = Nothing
    End Function

    Galera essa parte em negrito que eu gostaria de converter em maiusculo
    Antes do LIKE NOMEPROP, porque assim coincidi a pesquisa

    NEGRON 11/10/2009 22:47:05
    #325071
    GALERA DEU CERTO

    A DICA DO TECLA FOI SHOW DE BOLA........ iuuuuuuuuuuup

    Tô postando o código já corrigido e funcionando OK

       
    Public Function FILTROPROP(Carregarprop As Object, Optional ByVal PEGANDOPROP As String) As Boolean
    Set TABPROPRIETARIO = New ADODB.Recordset
    FILTROPROP = False
    TABPROPRIETARIO.Open [Ô] SELECT CODIGOPROP,NOMEPROP,ENDERECOPROP,NUMEROPROP,BAIRROPROP,CIDADEPROP,CEPPROP,UFPROP,ESTCIVILPROP,NASCIMENTOPROP,CPFPROP,RGPROP,FONE1PROP,FONE2PROP,EMAILPROP from PROPRIETARIO WHERE UPPER(NOMEPROP) LIKE [ô]%[Ô] & UCase(PEGANDOPROP) & [Ô]%[ô][Ô], CONECTABANCO
    If Not TABPROPRIETARIO.EOF Then
    Do While Not TABPROPRIETARIO.EOF
    Set LISTAGEM = Carregarprop.ListItems.Add(, , (TABPROPRIETARIO.Fields(0)))
    LISTAGEM.SUBITEMS(1) = Trim(TABPROPRIETARIO.Fields(1))
    LISTAGEM.SUBITEMS(2) = Trim(TABPROPRIETARIO.Fields(2))
    LISTAGEM.SUBITEMS(3) = Trim(TABPROPRIETARIO.Fields(3))
    LISTAGEM.SUBITEMS(4) = Trim(TABPROPRIETARIO.Fields(4))
    LISTAGEM.SUBITEMS(5) = Trim(TABPROPRIETARIO.Fields(5))
    TABPROPRIETARIO.MoveNext
    Loop
    FILTROPROP = True
    End If
    TABPROPRIETARIO.Close
    Set TABPROPRIETARIO = Nothing
    End Function




    Valeu Galerinha
    Brigadão

    Eu Amo esse forum

    Tópico encerrado , respostas não são mais permitidas