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

Buscador en Mdb

Estas en el tema de Buscador en Mdb en el foro de ASP Clásico en Foros del Web. Tengo un asp que busca dentro de una base de datos, registros en diferentes tablas. Por ejemplo se puede buscar por DNI Nombre Fecha Por ...
  #1 (permalink)  
Antiguo 22/03/2004, 16:11
Avatar de FedEx  
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
Buscador en Mdb

Tengo un asp que busca dentro de una base de datos, registros en diferentes tablas.
Por ejemplo se puede buscar por
DNI
Nombre
Fecha
Por alguna de esas variables trae los resultados
Mi duda es la siguiente, como hago para que busque tanto por nombre y fecha. o sea
Nombre= Fedex
Fecha=23/03/2004
De la manera que lo tengo hecho ahora se puede solo por una sola variable
Muchas Gracias y muy pero muy util este foro, ya que personas como yo que recien empesamos no sirve como herramienta para crecer y aprender dentro de la programacion web
Gracias denuevo

Codigo<%%>
<%
if request.form <> "" then
dim con,rs,sql
dim nombre,apellido,dni,reclamon,fecha

set con = server.createobject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")

nombre = request.form("nombre")
apellido = request.form("apellido")
dni = request.form("dni")
reclamon = request.form("reclamon")
fecha = request.form("fecha")

if nombre <> "" then sql = sql & "Nombre like'"&nombre&"%'"
if apellido <> "" then sql = sql & "Apellido like'"&apellido&"%' "

if dni <> "" then sql = sql & "dni='"&dni&"'"
if reclamon <> "" then
if sql <> "" then
sql = sql & " AND reclamom='"&reclamon&"' "
else
sql = sql & "reclamon='"&reclamon&"' "
end if
end if
if fecha <> "" then sql = sql & "fecha ='"&fecha&"' "


sql = "SELECT * FROM Usuarios WHERE " & sql
%>

<%
'************************************************* **************
'esto me escribe todos los resultados
'************************************************* **************
response.write ("<hr>")
response.write ("resultados:<br>")
con.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\fede\csc\reclamos\basededatos.mdb"
con.open
rs.open sql,con, adopenkeyset

dim i
do until rs.eof = true
i=i+1
%>
  #2 (permalink)  
Antiguo 22/03/2004, 18:51
Avatar de kalijunfan  
Fecha de Ingreso: febrero-2004
Ubicación: Montevideo, Uruguay
Mensajes: 96
Antigüedad: 21 años, 2 meses
Puntos: 0
Estimado FedEx, tu error está en cómo estás armando tu consulta sql. Lo que te recomiendo es lo siguiente:

Supongo que en la tabla Usuarios tenés algún campo autonumérico que estás usando como clave principal de la tabla, si no es así te recomiendo que lo incluyas YA MISMO. Una vez que tengas el campo autonumérico podés probar con usar algo así:

<% if request.form <> "" then
dim con,rs,sql
dim nombre,apellido,dni,reclamon,fecha

set con = server.createobject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")

nombre = request.form("nombre")
apellido = request.form("apellido")
dni = request.form("dni")
reclamon = request.form("reclamon")
fecha = request.form("fecha")

sql = "SELECT * FROM Usuarios WHERE CampoAutonumerico > 0"

if nombre <> "" then sql = sql & " AND Nombre like '"&nombre&"'"
if apellido <> "" then sql = sql & " AND Apellido like '"&apellido&"'"
if dni <> "" then sql = sql & " AND dni='"&dni&"'"
if reclamon <> "" then sql = sql & " AND reclamom='"&reclamon&"'"
if fecha <> "" then sql = sql & " AND fecha ='"&fecha&"'" %>

Con eso se tendría que solucionar tu problema.
Probalo y después me contás.

  #3 (permalink)  
Antiguo 22/03/2004, 23:22
Avatar de FedEx  
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
Muchas gracias por la respuesta
El campo que utilizo es el id, como autonumerico
Mañana cuando llego al laburo lo pruebo y te digo.
Muchas gracias
  #4 (permalink)  
Antiguo 23/03/2004, 07:34
Avatar de FedEx  
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
Funciono perfecto!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
GRACIAS
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 18:18.