Ir para conteúdo

POWERED BY:

Arquivado

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

rockbilly

Problemas com acentos BD access!

Recommended Posts

Olá forum,

 

tenho um BD com registros COM e SEM acento, o problema é o seguinte: o Usuario faz a consulta com nome sem acento e mostra a tabela com as palavras COM e SEM acento. O PROBLEMA é que: quando ele faz a consulta COM acento, ela retorna SÓ as palavras COM acento, ou seja, as SEM acento ficam fora. Estou usando esta função:

 

function preparaPalavra(str)

preparaPalavra = replace(str,"a","[a,á,à,ã,â,ä]")

preparaPalavra = replace(preparaPalavra,"e","[e,é,è,ê,ë]")

preparaPalavra = replace(preparaPalavra,"i","[i,í,ì,î,ï]")

preparaPalavra = replace(preparaPalavra,"o","[o,ó,ò,õ,ô,ö]")

preparaPalavra = replace(preparaPalavra,"u","[u,ú,ù,û,ü]")

preparaPalavra = preparaPalavra

end function

OBS:. Se eu pudesse, tiraria na mão mesmo os ACENTOS no BD. mas são mais de 1500 registros!

me ajudem por favor.

Agradeço muito a uma luz!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso acontece pq sua função so faz o REPLACE de palavras sem acento, ou seja se eu digitar á o replace que você tem nao vai funcionar pois ela esta valendo apenas para este a.

 

Você já tentou usar a função desta maneira?

 

function preparaPalavra(str)preparaPalavra = replace(str,"[a,á,à,ã,â,ä]","[a,á,à,ã,â,ä]")preparaPalavra = replace(preparaPalavra,"[e,é,è,ê,ë]","[e,é,è,ê,ë]")preparaPalavra = replace(preparaPalavra,"[i,í,ì,î,ï]","[i,í,ì,î,ï]")preparaPalavra = replace(preparaPalavra,"[o,ó,ò,õ,ô,ö]","[o,ó,ò,õ,ô,ö]")preparaPalavra = replace(preparaPalavra,"[u,ú,ù,û,ü]","[u,ú,ù,û,ü]")preparaPalavra = preparaPalavraend function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe essa função rockbilly acho que encaixa certinho no que você quer...

 

<% ' **** Tira ascentos e espaços de uma string, transformado-a em minusculaFunction Ascentos(StrTrata)  R = ""  V_A = "áÁãÃäÄàÀâÂ"  V_E = "éÉèÈëËÊê"  V_I = "íÍìÌïÏîÎ"  V_O = "óÓòÒõÕÖöôÔ"  V_U = "úÚùÙüÜûÛ"    StrTrata = CStr(StrTrata)  For aux = 1 To Len(StrTrata)    L = Mid(StrTrata, aux, 1)    If (InStr(V_A, L) <> 0) Then L = "a"    If (InStr(V_E, L) <> 0) Then L = "e"	If (InStr(V_I, L) <> 0) Then L = "i"	If (InStr(V_O, L) <> 0) Then L = "o"	If (InStr(V_U, L) <> 0) Then L = "u"	    If (L = " ") Then L = ""     R = R + LCase(L)  Next  Ascentos = REnd Function%>

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.