Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2007, 16:42
Avatar de luisvasquez
luisvasquez
 
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 4 meses
Puntos: 6
Pregunta Consulta SQL con rangos de fecha

Hola Amigos,

Estoy haciendo una consulta que pretende mostrar unos datos y necesito "filtrar" por un rango de fecha con un formulario con la lista de fechas.

La idea es tomar los datos del formulario y crear el SQL, pero tengo un problema con la comparación de las fechas.

A ver si ustedes ven algo y pueden darme una mano.

El sql resultante de tomar los valores de la forma es el siguiente:

SELECT * FROM oferta_viaje WHERE
fecha_disponible >=#02/05/2007# and
fecha_disponible <= #12/05/2007#

Las fechas que toma por defecto (cuando entra la primera vez) son la menor y la mayor de la tabla, con la finalidad de mostrar todos los datos. Cuando entro por primera vez a la página, lo hace correctamente, pues, me muestra todos los registros.

Ahora bien, cuando selecciono una fecha de la lista en el formulario, me genera un SQL que DEBERÍA dejar algunos datos por fuera, pero no lo hace o viceversa.

Cabe aclarar que en la tabla hay 14 registros. 7 tienen fecha 02/05/2007 y 7 tienen fecha 12/05/2007.

El siguiente SQL se trae igual los 14 registros, pero debería dejarlos todos por fuera, ya que NINGÚN registro tiene fecha mayor que el 04/05/2007 Y menor que 06/05/2007. ¿Cierto?

SELECT * FROM oferta_viaje WHERE
fecha_disponible >=#04/05/2007# and
fecha_disponible <= #06/05/2007#


El siguiente SQL no trae ningún registro y debería traer los 7 que tienen fecha 02/05/2007..¿Cierto?

SELECT * FROM oferta_viaje WHERE
fecha_disponible >=#02/05/2007# and
fecha_disponible <= #03/05/2007#

Les comento que he probado quitando el "#", usando comillas, apostrofos, etc y tal como está ahora es como mejor funciona.

Alguna idea? Tengo problemas con la lógica del SQL o creen que se trata de un problema de formato de las fechas?

Como dato adicional les digo que la Base de datos es Access y que el formato de la fecha es DD/MM/AA.

Saludos y gracias por ayuda,
Luis Vásquez