Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

formalivre

Funça retirar acentos na busca

Recommended Posts

olá peguei aqui no forum uma função para retirar acentos na hora da busca, pois gostaria que quando a pessoa procura-se por "são paulo" ela poderia digitar "sao paulo" e iria encontrar.a função:

Function RetiraAcentos(str) str = LCase(str) RetiraAcentos = Replace(str, "á", "a") RetiraAcentos = Replace(RetiraAcentos, "à", "a") RetiraAcentos = Replace(RetiraAcentos, "ã", "a") RetiraAcentos = Replace(RetiraAcentos, "â", "a") RetiraAcentos = Replace(RetiraAcentos, "ä", "a") RetiraAcentos = Replace(RetiraAcentos, "é", "e") RetiraAcentos = Replace(RetiraAcentos, "è", "e") RetiraAcentos = Replace(RetiraAcentos, "ê", "e") RetiraAcentos = Replace(RetiraAcentos, "ë", "e") RetiraAcentos = Replace(RetiraAcentos, "í", "i") RetiraAcentos = Replace(RetiraAcentos, "ì", "i") RetiraAcentos = Replace(RetiraAcentos, "î", "i") RetiraAcentos = Replace(RetiraAcentos, "ï", "i") RetiraAcentos = Replace(RetiraAcentos, "ó", "o") RetiraAcentos = Replace(RetiraAcentos, "ò", "o") RetiraAcentos = Replace(RetiraAcentos, "õ", "o") RetiraAcentos = Replace(RetiraAcentos, "ô", "o") RetiraAcentos = Replace(RetiraAcentos, "ö", "o") RetiraAcentos = Replace(RetiraAcentos, "ú", "u") RetiraAcentos = Replace(RetiraAcentos, "ù", "u") RetiraAcentos = Replace(RetiraAcentos, "û", "u") RetiraAcentos = Replace(RetiraAcentos, "ü", "u") RetiraAcentos = Replace(RetiraAcentos, "ç", "c") RetiraAcentos = Replace(RetiraAcentos, "a", "[a,á,à,ã,â,ä]") RetiraAcentos = Replace(RetiraAcentos, "e", "[e,é,è,ê,ë]") RetiraAcentos = Replace(RetiraAcentos, "i", "[i,í,ì,î,ï]") RetiraAcentos = Replace(RetiraAcentos, "o", "[o,ó,ò,õ,ô,ö]") RetiraAcentos = Replace(RetiraAcentos, "u", "[u,ú,ù,û,ü]") RetiraAcentos = Replace(RetiraAcentos, "c", "[c,ç]")End Function

e o que vai no SQL:

sql = "SELECT * FROM tabela WHERE campo LIKE '"& RetiraAcentos(palavra_a_buscar) &"%'"

eu só não estou sabendo incluir este parâmetro "& RetiraAcentos" em meu SQL.meu SQL:

" SELECT * FROM noticias WHERE titulo LIKE '%" + Replace(Busca__MMColParam, "'", "''") + "%' OR noticia LIKE '%" + Replace(Busca__MMColParam, "'", "''") + "%' OR site LIKE '%" + Replace(Busca__MMColParam, "'", "''") + "%' "

alguém pode me ajudar?obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

" SELECT * FROM noticias WHERE titulo LIKE '%" & RetiraAcentos(Busca__MMColParam) & "%' OR noticia LIKE '%" & RetiraAcentos(Busca__MMColParam) & "%' OR site LIKE '%" & RetiraAcentos(Busca__MMColParam) & "%' "

não esqueça que os dados no Db deves estar cadastrados sem acento para retornar algo no seu recordset

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.