USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Consulta palavras acentuadas
Rinaldo
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 31/10/2006 09:49 hs            
Tenho um richtextbox onde realizo uma pesquisa. Quando pequiso por palavras sem acento funciona perfeitamente, quando consulto palavras acentuadas não.
Obs. para visualizar as ocorrências uso SQL
Como fazer esta consulta?
T+
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 31/10/2006 09:55 hs            
No post em q coloquei a resposta sobre este mesmo assunto... ele não funcionou? Não te atendeu? Deu alguma coisa errada?? Entendi mal?
   
Rinaldo
SÃO PAULO
SP - BRASIL
Postada em 31/10/2006 10:03 hs            
Ai Ghost_jlp
 
Testei sim, masi não funcionou...
 
SELECT * FROM Tabela_Simples WHERE TEXTO LIKE 'JO[AÃ]O%'
 
A palavra em questão está em um textbox. Como eu faço para relaizar a pequisa?
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 31/10/2006 11:08 hs            
Vc passa a palavra para uma função e ele formata pra vc:
 
'Aqui eu tiro um trecho da textbox para pesquisar
NovoTexto = FormataBusca(left(Textbox1.text,5))
 
Function FormataBusca( Texto ) as String
dim n, NovoTexto, valorASC
NovoTexto = ""
for n = 1 to len( Texto )
valorASC = asc( mid( Texto, n, 1 ) )
select case valorASC
case 39: NovoTexto = NovoTexto & "''"
case 65: NovoTexto = NovoTexto & "[ÁÀÂÄÃA]"
case 67: NovoTexto = NovoTexto & "[ÇC]"
case 69: NovoTexto = NovoTexto & "[ÉÈÊËE]"
case 73: NovoTexto = NovoTexto & "[ÍÌÎÏI]"
case 79: NovoTexto = NovoTexto & "[ÓÒÔÖÕO]"
case 85: NovoTexto = NovoTexto & "[ÚÙÛÜU]"
case 97: NovoTexto = NovoTexto & "[áàâäãa]"
case 99: NovoTexto = NovoTexto & "[çc]"
case 101: NovoTexto = NovoTexto & "[éèêëe]"
case 105: NovoTexto = NovoTexto & "[íìîïi]"
case 111: NovoTexto = NovoTexto & "[óòôöõo]"
case 117: NovoTexto = NovoTexto & "[úùûüu]"
case else
if valorASC > 31 and valorASC < 127 then
NovoTexto = NovoTexto & chr( valorASC )
else
NovoTexto = NovoTexto & "_"
end if
end select
next
FormataBusca = "'%" & NovoTexto & "%'"
End Function
 
Então sua consulta vai ficar :
 
SELECT * FROM Tabela_Simples WHERE TEXTO LIKE '%J[ÓÒÔÖÕO][áàâäãa][ÓÒÔÖÕO]%'
 
 
Modifique a função conforme sua necessidade...
 
Para testar vá no banco e faça na mão a query pra ver se funciona mesmo:
 
Select campo1 from tabela where texto like ''J[ÓÒÔÖÕO][áàâäãa]*'
 
Se for uma consulta diretamente no acess tem q ser '*' ... mas se for via vb por ADO então é '%'
 
qq coisa posta ae...
 
at+
   
Rinaldo
SÃO PAULO
SP - BRASIL
Postada em 01/11/2006 10:55 hs            
Cara não funcionou. A função não retorna nada!
 
T+
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 01/11/2006 10:58 hs            
Vc tem q passar a palavra sem acentuação
Palavra = "JOAO"
Palavra = FormataBusca(Palavra)
 
RS.Open "SELECT * FROM TABELA WHERE texto LIKE " & palavra,Conexao
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página