La Web del Programador: Comunidad de Programadores
 
    Pregunta:  8634 - CONSULTA POR PERíODOS DE FECHAS CON BETWEEN
Autor:  Alexander Cioffi
Sres. Programadores

Me encuentro sorprendido, ya que al realizar una simple consulta entre dos rangos de fechas, observo que el resultado que me arroja la Bd es incorrecto.

Estoy utilizando VB6.0 y Access97, realizo una Query simple donde coloco los valores de las fechas capturados a traves de un control Dtpicker utilizando Between.

Ahora bien he pasado los valores utilizando lo siguiente:

1.-Between #"& dtpicker1 &"# and #"& dtpicker2 &"#
Between #01/02/2001# and #15/03/2001#

2.-Between '"& dtpicker1 &"' and '"& dtpicker2 &"'
Between '01/02/2001' and '15/03/2001'

Y los resultados obtenidos son erroneos, fuera del rango, además he probado haciendo la misma consulta directo desde el access y sin pasarle parametros la realiza bien.

Les agradezco cualquier información o metodo que puedan hacerme llegar para solucionar este problema.

Saludos.-

  Respuesta:  Miquel Garcia
Alexander, utiliza la siguiente instrucción y no te fallará:
BETWEEN " & CDate("01/01/2001") & " AND " & CDate("31/01/2001") & ""

  Respuesta:  Jim Adam Miñano Wong
Hola:
Estoy realizano un sistema de Reservaciones y Consumos de un Hotel *** Y como es de suponer aquí hay que manejar demasiadas fecha y me vi forzado a "dominar" las fechas.

El problema que tuve era el mismo que el tuyo (pasar la fecha en El formato dd/mm/yyyy), cuando haces una comparación defechas usando #fercha# la bd lo interpreta MM/dd/yyyy por lo que el dtpicker debe tener el formato MM/dd/yyyy. Posiblemente cuando pases el valor Date(Fecha del sistema) ten cuiudado porque te envía en el formato del sistema. Si estas programando en formato "dd/MM/yyyy" y lo pasas #" & Date & "# te saldara el mismo error.
si haces esto #" & fromat(Date,"MM/dd/yyy") & "# lo habras "controlado", poro si el programa corre en una PC con formato de fecha "MM/dd/yyyy" te volvera a salir el mismo error. si deseas escribirme aunque no falta mucho para aclarar escribeme [email protected]
Bye