Filtrado en consulta a base de datos

Hola. Explico mi problemilla.
Tengo una página asp en la que en un formulario (method=GET) se pide un nombre y dos fechas (una inicial y una final). Esta página, al pulsar el botón CONTINUAR, me envía a otra, en la que tengo que mostrar todos los registros de la base de datos que tengan el nombre que se ha solicitado y estén entre la fecha inicial y la fecha final.
Pues bien, mi problema está a la hora de hacer el filtrado de la consulta SELECT. Te escribo parte del código:
strSQL = "SELECT * FROM basededatos WHERE nombre=nombre2 and fechaini between (fechai and fechaf)";
No te pongo las comillas ni paréntesis porque he ido poniendo y quitando, ya que no funcionaba. Ahora te explico:
Nombre y fechaini: campos NOMBRE y FECHAINI de la tabla que hay que consultar.
nombre2, fechai y fechaf: variables que en teoría me devuelve la primera página (donde se pide el nombre y las dos fechas).
La dirección a la que me envía la primera página, es:
http://ip_servidor_web/pagina2.asp?nombre2=JUAN+GARCIA&fechai=1%2F1%2F1980&fechaf=1%2F1%2F1999
Te lo digo porque parece que la primera página sí que guarda y envía las variables correctamente.
No sé si me he explicado bien o qué, pero espero alguna ayuda! Gracias.
PD: No sé cómo me enteraré de la respuesta (es la primera pregunta que hago aquí), vamos, que no sé si tengo que volver, o se me envía un e-mail, o qué. Mi e-mail, por si acaso es [email protected]

1 Respuesta

Respuesta
1
Lo correcto, si se trata de una base de datos en Access, sería:
strSQL = "SELECT * FROM basededatos WHERE nombre='" & request("nombre2") & "' and fechaini between #" & request("fechai") & "# and #" & request("fechaf") & "#"
Es posible que tengas que expresar la fecha en formato americano (mm/dd/aaaa) para que funcione el BETWEEN. Para "recoger" los parámetros que te vienen de un formulario, utiliza 'request("<nombreparámetro>")'.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas