Problema en consulta con fechas para generar reporte

Hola, tengo un problema al generar una consulta para un reporte con datareport, no toma en cuenta las condiciones y no me muestra información cuando si debeía.
Estoy utilizando dos DTPicker para obtener la fecha inicial y la final( Reportes.DTPRecepcionDe.Value y Reportes.DTPRecepcionA.Value )
Y esta es la consulta que estoy realizando, espero puedas ayudarme y de antemano gracias.
strSQLData = "SELECT * FROM tab_entrada where ent_fecharecep between #" & Reportes.DTPRecepcionDe.Value & "# and #" & Reportes.DTPRecepcionA.Value & "#"
strSQLData = strSQLData & "order by ent_numcontrol"

1 Respuesta

Respuesta
1
El error de tu sentencia SQL es el siguiente: al colocar los signos de número [#] lo que hace VB es interpretar una fecha iniciando por el mes, por ejemplo, si tenemos 10/09/08 [10 de septiembre de 2008] al colocarlo así # 10/09/08 # VB lo interpreta así "09/10/08" [9 de octubre de 2008].
Para solucionarlo sólo debes hacer tu consulta de la siguiente forma:
SELECT * FROM tab_entrada WHERE ent_fecharecep BETWEEN #"&  Format(Reportes.DTPRecepcionDe.Value, "mm/dd/yy")  &"# AND #"& Format(Reportes.DTPRecepcionA.Value, "mm/dd/yy")  &"#
Con el "Format" regresamos la fecha a su estado inicial, es decir, si el "#" lo voltea, el "Format" lo regresa [por eso uso "mm/dd/yy" en lugar de "dd/mm/yy"].
Espero puedas solucionar tu situación, si te surge alguna otra duda consúltame de nuevo.
Saludos desde México. Juan Pablo E.P.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas