Ir para conteúdo

POWERED BY:

Arquivado

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

LUIZ PAULO MONTEIRO

Como colocar função tirar acento da busca

Recommended Posts

function TiraAcento(StrAcento)

for i = 1 to len(StrAcento)

Letra = mid(StrAcento, i, 1)

Select Case Letra

Case "á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"

Letra = "A"

Case "é","É","ê","Ê","Ë","ë","È","è"

Letra = "E"

Case "í","Í","ï","Ï","Ì","ì"

Letra = "I"

Case "ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"

Letra = "O"

Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"

Letra = "U"

Case "ç","Ç"

Letra = "C"

Case "ñ"

Letra = "N"

End Select

texto = texto & Letra

next

TiraAcento = texto

end function

 

 

if strConsulta <> "" then

if strCategoria <> "" and subcat = "" then

STRSQL = "SELECT * FROM pesquisa WHERE categoria = '"&strCategoria&"' and ( "

FOR I = LBOUND(Palavras) TO UBOUND(Palavras)

STRSQL = STRSQL & "nome like '%" & Palavras(I) & "%' or descricao like '%"& Palavras(I) &"%' or chave like '%"& Palavras(I) &"%'"

IF I <> UBOUND(Palavras) THEN

STRSQL = STRSQL & " OR "

END IF

NEXT

STRSQL = STRSQL & ") ORDER BY TIPO ASC"

end if

end if

if strCategoria = "Todos" then

strSQL = "Select * from pesquisa WHERE ( "

FOR I = LBOUND(Palavras) TO UBOUND(Palavras)

strSQL = strSQL & " nome LIKE '%" & Palavras(I) & "%' or descricao like '%"& Palavras(I) &"%' or chave like '%"& Palavras(I) &"%'" 'order by tipo"

IF I <> UBOUND(Palavras) THEN

STRSQL = STRSQL & " OR "

END IF

NEXT

STRSQL = STRSQL & ") ORDER BY TIPO ASC"

end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso essa aqui, da uma olhada.... acho que ajuda

 

 

'FUNÇÃO QUE RETIRA OS ACENTOS DAS PALAVRAS'/////////////////////////////////////////Function TiraAcento(ByVal Palavra)	cacento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ^~ºª"	sacento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN"	texto = ""	If Palavra <> "" Then		For x = 1 To Len(Palavra)			letra = Mid(Palavra, x, 1)			pos_acento = InStr(cacento, letra)			If pos_acento > 0 Then				letra = Mid(sacento, pos_acento, 1)			End If			texto = texto & letra		Next		TiraAcento = texto	End IfEnd Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

a função que coloquei ta correta o problema é que não estou conseguindo implementá-la na strSQL

 

antes ficava assim:

& TiraAcento(Replace(Session("cboConsulta"), "'", "''")) &

 

agora é & Palavras(I) &

, mas como faço para colocar aqui?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu também uso a função demonstrada pelo bimpercursso

 

mas se você quer usar a sua tens que chamar ela colocando

semAcento=TiraAcento(StringComAcento)

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.