Foros del Web » Programando para Internet » ASP Clásico »

Búsquedas en ASP

Estas en el tema de Búsquedas en ASP en el foro de ASP Clásico en Foros del Web. Hola amigos! Necesito vuestra ayuda para resolver el siguiente problema que se me plantea. Espero q podais ayudarme lo antes posible: Tengo un buscador que ...
  #1 (permalink)  
Antiguo 25/05/2002, 06:35
 
Fecha de Ingreso: mayo-2002
Mensajes: 2
Antigüedad: 22 años
Puntos: 0
Búsquedas en ASP

Hola amigos!

Necesito vuestra ayuda para resolver el siguiente problema que se me plantea. Espero q podais ayudarme lo antes posible:

Tengo un buscador que realiza una consulta a una base de datos, mediante ASP. ¿Cómo hago para que no discrimine las vocales acentuadas? Es decir, que si alguien busca 'Maria' sin tilde y en la base de datos hay un registro que es 'María' con tilde, encuentre dicho registro.

Muchas gracias.
  #2 (permalink)  
Antiguo 25/05/2002, 18:39
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
Re: Búsquedas en ASP

cuando grabas la informacion en la columna donde está las palabras claves (osea las que vas a buscar) las grabas sin tilde, pero qué pasa si ponen tilde, haces un replace... así.

<%
function cambio(txt)
txt = replace(txt, "á", "a")
txt = replace(txt, "é", "e")
txt = replace(txt, "í", "i")
txt = replace(txt, "ó", "o")
txt = replace(txt, "ú", "u")
end function

xtexto = request.form("texto")
sql = "insert into tabla (clave) values ('"&cambio(xtexto)&"')"

'ahora para la búsqueda haces lo mismo
'haces un replace con lo que escribio
'así no importa si escribió con tilde o no
'porque no lo va a buscar con tilde
%>
espero que te sirva

Giancarlo Loret de Mola (Mamon)
  #3 (permalink)  
Antiguo 26/05/2002, 15:45
 
Fecha de Ingreso: mayo-2002
Mensajes: 2
Antigüedad: 22 años
Puntos: 0
Re: Búsquedas en ASP

Gracias por la ayuda, pero no me vale, porque no tengo un campo de palabras clave, sino que se busca directamente en los artículos de la base de datos y no voy a quitar todas las tildes para que funcione el buscador.

Muchas gracias de nuevo. Alguien tiene alguna otra idea? Por favor!!
  #4 (permalink)  
Antiguo 26/06/2004, 15:20
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 3 meses
Puntos: 0
Cita:
Iniciado por mamon
cuando grabas la informacion en la columna donde está las palabras claves (osea las que vas a buscar) las grabas sin tilde, pero qué pasa si ponen tilde, haces un replace... así.

<%
function cambio(txt)
txt = replace(txt, "á", "a")
txt = replace(txt, "é", "e")
txt = replace(txt, "í", "i")
txt = replace(txt, "ó", "o")
txt = replace(txt, "ú", "u")
end function

xtexto = request.form("texto")
sql = "insert into tabla (clave) values ('"&cambio(xtexto)&"')"

'ahora para la búsqueda haces lo mismo
'haces un replace con lo que escribio
'así no importa si escribió con tilde o no
'porque no lo va a buscar con tilde
%>
espero que te sirva

Giancarlo Loret de Mola (Mamon)
Tienes un bloque COMPLETO con todos los caracteres con tildes y especiales para usarlo en una pagina?
Gracias
  #5 (permalink)  
Antiguo 26/06/2004, 16:08
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
no, pero en un editor de html escribe en la parte en blanco, no donde escribes el código y vas a ver en el código como se escribe
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #6 (permalink)  
Antiguo 26/06/2004, 17:55
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 6 meses
Puntos: 0
Bueno para empezar creo que tendrías que utilizar el operador LIKE de SQL de esta manera tu recordset te devolverìa tanto "MARIA" como "MAría" como "Maria" como "Marìa"....etc....
v.gr
strSQL ="select * from nombres where nombre LIKE '"% variableTexto &"' "
etc...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:50.