Buscador con o sin acentos

georgina
08 de Septiembre del 2009
Hola a ver si alguien me puede ayudar. Tengo un buscador que busca una o varias palabras en una serie de campos de la base de datos Access. El problema esta que cuando busco una palabra que esta con acento no la encuentra si en el buscador la pongo sin y lo ideal sería que lo encontrará tenga o no acentos.
La base de datos es access y el resultado es un archivo asp. Si alguién conoce la forma de solucionar mi problema se lo agradeceré.

Gustavo
08 de Septiembre del 2009
Hola, si solucionaste el problema de la busqueda de palabras con ó sin acentos , por favor escribeme.
Aunque tu busqueda fue del 18 de noviembre de 2003, espero me ayudes

fernandoc
08 de Septiembre del 2009
Los caracteres acentuados son distintos de los caracteres sin acentuar. También son distintos los caracteres que representan las mayúsculas y los de las minúsculas. Para realizar una busca genérica hay que transformar los caracteres "conflictivos", tanto en la cadena buscada, como en la que se busca.
La transformación de mayúscula a minúscula la puedes hacer con LCASE (si decides trabajar con todo en minúsculas) o con UCASE (si decides trabajar con todo en mayúsculas). Además debes transformar las vocales acentuadas en vocales sin acentuar (á por a, etc..)
A continuación tienes un ejemplo de como hacerlo.



cad=lcase(cad)

Cad = Sustituir(Cad, "a", "á")
Cad = Sustituir(Cad, "e", "é")
.
.
.
.
Function Sustituir(Cad, ASust, Sust)
Dim Pos, Lon
Pos = InStr(Cad, ASust)
Lon = Len(ASust)
While Pos > 0

Cad = Left(Cad, Pos - 1) & Sust & Mid(Cad, Pos + Lon)
Pos = InStr(Cad, ASust)


Wend
Sustituir = Cad

End Function

fernandoc
08 de Septiembre del 2009
Si estamos hablando de un entorno en el que funcione la función REPLACE :
Cad=replace(Cad,"á","a") . No tienes que generar la función.

Feippe
08 de Septiembre del 2009
Sé que hace mucho se escribió este hilo... pero... en mi caso yo necesito que no distinga los tildes, pero no puedo pasar las palabras a buscar a palabras sin tildes ya que en mi base de datos las palabras están en algunos casos con tildes y en otros sin tildes.
Me explico?
Si hago lo que ustedes sugieren, eso me devuelve todas las palabras que en la base de datos no tengan tildes, pero que pasa con las que sí tienen?
Slds.-

Alexey
08 de Septiembre del 2009
Lo primero que se me ocurre es que metas una funcion intermediaria que cambiara todas las vocales que tengan acentos por vocales sin acentos en la cadena antes de realizar la busqueda