ASP - Ayuda ASP - ACCESS

 
Vista:

Ayuda ASP - ACCESS

Publicado por Hernan (1 intervención) el 03/04/2002 23:06:01
Estoy utilizando ASP y ACCESS, y el problema que tengo es que cuando hago una busqueda en ASP, con acento, no me encuentra la palabra en la base de datos, siendo que en la base de datos el texto buscado esta sin acento. Ejemplo:
Tengo un registro con el dato: Hernan, y al buscar Hernán (con acento) en ASP, no me lo encuentra.....
lo que necesito es algo que no discrimine los acentos, que me busque todo por igual......
Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda ASP - ACCESS

Publicado por Pechi (163 intervenciones) el 04/04/2002 10:36:16
Lo que podrias hacer es que en tu consulta poner que te busque las palabras con acento y sin acento algo asi

Cadena1="Hernán"
Cadena2=(Replace(myString, Chr(34), chr(34)),
Y buscar las dos cadenas en la base de datos
Solo averigua el codigo de ambos caracteres "e" "é"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda ASP - ACCESS

Publicado por Pechi (163 intervenciones) el 04/04/2002 10:36:29
Lo que podrias hacer es que en tu consulta poner que te busque las palabras con acento y sin acento algo asi

Cadena1="Hernán"
Cadena2=(Replace(Cadena1, Chr(34), chr(34)),
Y buscar las dos cadenas en la base de datos
Solo averigua el codigo de ambos caracteres "e" "é"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda ASP - ACCESS

Publicado por Isnel Velazquez (49 intervenciones) el 04/04/2002 11:23:10
Function SonIgualesSinAcento(a1 As String, a2 As String) As Boolean
Dim fals As Boolean
fals = True
a1 = UCase(a1)
a2 = UCase(a2)
If Len(Trim(a1)) = Len(Trim(a2)) Then
Dim ab, ac As String
i = 1
Do While fals And (i <= Len(Trim(a1)))
ab = Mid(Trim(a1), i, 1)
ac = Mid(Trim(a2), i, 1)
If ab = ac Then
i = i + 1
Else
If ((ab = "A") And (ac = "Á")) Or ((ac = "A") And (ab = "Á")) Or ((ab = "E") And (ac = "É")) Or ((ac = "E") And (ab = "É")) Or ((ab = "I") And (ac = "Í")) Or ((ac = "I") And (ab = "Í")) Or ((ab = "O") And (ac = "Ó")) Or ((ac = "O") And (ab = "Ó")) Or ((ab = "U") And (ac = "Ú")) Or ((ac = "U") And (ab = "Ú")) Then
i = i + 1
Else
fals = False
End If
End If
Loop
Else
SonIgualesSinAcento = False
End If
If Len(Trim(a1)) = Len(Trim(a2)) Then
SonIgualesSinAcento = fals
End If
End Function

Lo que te puedo decir es que realices tu consulta donde los tengas todos y luego los filtres usando para esto la funcion que te envio que pincha Ok al llamarla la llamas asi:
Por ejemplo escribir todos los que sean igual a la cadena dada que viene en request("cadena")
do while not mirecord.eof
if SonIgualesSinAcento(mirecord("nombre"),request%2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar