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

Algo sencillo para los Aeseperos.

Estas en el tema de Algo sencillo para los Aeseperos. en el foro de ASP Clásico en Foros del Web. Que tal Sres. , a ver si me pueden ayudar con esto: tengo una caja de texto en un form en el cual debo ingresar ...
  #1 (permalink)  
Antiguo 03/12/2002, 17:50
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 4 meses
Puntos: 1
Algo sencillo para los Aeseperos.

Que tal Sres. , a ver si me pueden ayudar con esto:

tengo una caja de texto en un form en el cual debo ingresar el nombre de una localidad, pero con la salvedad de que que a lo mejor ingreso las 3 primeras letras de esa localidad.
Recuperando ese string enviado con el form, como lo pego dentro de un sql para que realice una busqueda en la base access?.

seria algo asi?:
localidad =LTrim(Request.Form("txtlocalidad"))

sql = "select * from Localidades where localidad like ' "&localidad&" '

ya probe esto y no funciona.

Habra una forma mas piola y "profesional" de hacer esto?

Saludos.
__________________
Carlunchos
  #2 (permalink)  
Antiguo 03/12/2002, 18:04
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Pues en teoria eso esta bien escrito, deberia devolverte las localidades que contengan esa cadena de busqueda.


<%
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("tubase.mdb")&";"
localidad =Request.Form("txtlocalidad")
sql = "select * from Localidades where localidad like ' "&localidad&" '
rs.open SQL,oConn,1,2
do while not rs.eof
respose.write("localidad")
rs.movenext
loop
rs.close
%>

Prueba esto.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #3 (permalink)  
Antiguo 03/12/2002, 20:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Exclamación faltaron los "comodines"

Código:
localidad =Trim(Request.Form("txtlocalidad"))

sql = "select * from Localidades where localidad like ' % "&localidad&" %'
El caracter "comodín" es el "%" (al menos para access)
Con la SQL anterior estarías devolviendo todas las localidades que en cualquier parte de su nombre contenga los caracteres solicitados por el usuario. Pero como decís que necesitás recuperar las localidades que coincidan con el criterio o con al menos los 3 primeros caracteres, te propongo esto:



Código:
localidad =Trim(Request.Form("txtlocalidad"))

If Len(localidad) > 3 then
sql = "select * from Localidades where localidad like ' % "&localidad&" %' "
Else
sql = "select * from Localidades where localidad like '  "&localidad&" %'
End if
Con lo que si buscan "martín" (más de 3 caracteres -y suponiendo que no distinga las tildes- ) van a encontrar:
- José de San Martín
- Martín Coronado
- General San Martín
- Martiniano María Laspiure

Y si buscan "mar" (sólo 3 caracteres) van a encontrar...
- Martín Coronado
- Mar Chiquita
- Marcos Paz
- Margarita Belén
- Marcos Juárez
- Mariano I. Loza
- María Grande
- Mariano Moreno
- Marcelino Escalada
- Margarita
- etc!
... pero no todas las anteriores.

saludos
  #4 (permalink)  
Antiguo 03/12/2002, 20:09
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Sorry, efectivamente me olvide del comodin (* o %) y entonces solo te devolvia registros en el caso de una cadena completa.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #5 (permalink)  
Antiguo 04/12/2002, 05:56
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 4 meses
Puntos: 1
Este Dazuaga siempre tan preciso. Gracias che, me viene de perillas.
Maestro , gracias por acudir al salvataje de un novato.

Saludos.
__________________
Carlunchos
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 12:16.