Visual Basic - Rango de Fechas.

Life is soft - evento anual de software empresarial
   
Vista:

Rango de Fechas.

Publicado por Adolfo (117 intervenciones) el 22/04/2008 18:11:55
Tengo el siguiente codigo para consultar registros con fecha mayor o igual a la fecha digitado en le campo CBFecha.Value:

BDCxC.RecordSource = "SELECT * FROM TBCreditosDiarios WHERE Cdate(Year(Fecha)) >= '" & CDate(Year(CBFecha.Value)) & "' and Cdate(Month(Fecha)) >= '" & CDate(Month(CBFecha.Value)) & "' and Cdate(Day(Fecha)) >= '" & CDate(Day(CBFecha.Value)) & "' ORDER BY Fecha"

Sin embargo me susede lo siguienet:

Si tengo registros con fecha 04/16/2008 y 04/20/2008 debo poder consultar por ejemplo solo los regsitros con fecha 04/20/2008 seleccionando cualquer fecha mayor a 04/16/2008.
Si por ejemplo selecciono los registros a partir de la fecha 04/17/2008 me muestra los registros de fecha 04/20/2008, asta el momento todo esta bien.

Si selecciono los registros a partir de la fecha 04/02/2008 me muestra los registros de ambas fechas (04/16/2008 y 04/20/2008), esta bien.

Pero si selecciono los registros a partir de la fecha 04/03/2008 no me muestra ningun registros, no comprendo por que no los muestra ni como corregir el problema.

Agradecería cualquier sugerencia que me pueda ayudar a solucionar este extraño problema.

Adolfo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rango de Fechas.

Publicado por Diego (2 intervenciones) el 22/04/2008 19:10:56
A ver, solo una sugerencia:
04/03/2008 para un español es 'cuatro de marzo de dos mil ocho', pero para VB es 'tres de abril' por que el formato es 'mes/dia/año'
Asegurate de dar formato a la fecha antes de hacer la consulta. En esto VB siempre a dado problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rango de Fechas.

Publicado por Pedro Luis (878 intervenciones) el 23/04/2008 13:13:12
Veo rarisimo el CDate(year(fecha)) ¿no seria mejor convertir primero a fecha y despues buscar el año, year(cdate(fecha))?, ¿y porque no comparas las fechas completas?, siempre entre #, y tiene razon Diego, si no sale es mejor poner mm-dd-yyyy.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rango de Fechas.

Publicado por Adolfo (117 intervenciones) el 23/04/2008 18:53:17
Muchas gracias, logre corregir el problema usando Cdate(Fecha) BETWEEN #".....
con el signo # como me digiste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar