Duda con fechas a la horade generar informe

Ando haciendo un programilla en la base de datos access, y tengo un formulario que donde metes una fecha y se supone que te tiene que generar un informe con los presupuestos a partir de esa fecha, utilizando el pdfgrabber, y mi sorpresa es que :
1. Meto por ejemplo el 17 de junio, y me hace perfecto, me salen los presupuestos adecuados,
2. Pero por ejemplo meto el 8 de junio, es este caso se supone que deberían salir al menos los presupuestos de antes(ya que es fecha anterior) pero en cambio no sale nada, y supongo que sera porque compara mal las fechas
4. El código que tengo es:
blret = PrintPDF("ConPresMaritimo", "FechaSolicitud BETWEEN #" & Me!Fechasol & "# AND #" & Me!Fecha & "#", PDFPATH, PDFNAME)
Siendo fecha solicitud la fecha en la que insertaste el presupuesto(campo del informe), Me!Fechasol es la fecha a partir de la cual quieres mirar los presupuestos, y Me! Fecha es la fecha en la que haces la consulta!
Es decir siempre se debe dar que Me!Fechasol<FechaSolicitud<Me! Fecha
Por ello no entiendo como hace la comparación de fechas

3 respuestas

Respuesta
1
Bueno con la linea de código que me mandas no puedo evaluar bien como esta tu consulta y que es un función propia de tu sistema o del pdfgrabber (que no he usado)
Prueba primero haciendo las consultas directamente en access (ejecutándolas en vista Sql)y así sera más fácil detectar donde esta el error, si las consultas te regresan los datos que necesitas entonces habrá que verifitar la función PrintPdf (...) donde probablemente cambie algún valor de la fecha o incluso el formato de esta.
¿Tus datos de fechas los ingresas manualmente o de algún control? También habrá que verificar en que formtado están los valores de estos campos, (dd-mm-yyyy o yyyy-mm-dd).
Muchas garcías por la respuesta
He realizado consultas en access, y las realiza bien, pero creo que el fallo estaría en el campo fechasolicitud que es un campo del informe y no de una tabla o cuadro de texto directamente. Los otros dos Me! Fecha y Me!Fechasol si son cuadros de texto
Las fechas tienen todas formato fecha corta, por lo que esto no debería afectar en la comparación
Bueno pues entonces habrá que revisar el campo fechasolicitud ver que valor tiene en el informe y que valor tiene al momento de la consulta, ¿en qué momento se le da valor a este campo? Dices que la fecha cuando se inserto el presupuesto, ¿este valor se guarda en alguna tabla?
Siento que en algún momento esta teniendo el mismo valor que fechasol y por eso no te regresa resultados.
Si que fecha solicitud se carga de una tabla, pero tanto en el informe, como en la tabla como en la consulta tienen formato fecha
He seguido intentando varias maneras pero no lo consigo, debe ser por el printpdf, ya que si lo hago en una consulta normal me lo hace bien
Muchas gracias por ayudarme
Pues si es lo más seguro que esa función este cambiando algo... por que como dices si tus consultas en access te regresan los datos que son solo queda que la función te este cambiando los valores y/o el formato de la fecha. ¿Esa función PrinPDF la hiciste tu o es una función del programa que me comentaste?,
te mando este link donde te dicen como crear un pdf a partir de un informe de Access por medio del editor de visual Basic de Access.
http://www.microsoft.com/spain/Office/rincondelexperto/rafael_andrada.mspx
Respuesta
1
Una cosilla, igual meto la pata, pero para descartar y antes de zambullirme de lleno, ¿cómo piensas que hace las comparaciones tu programa?
17062009 Funciona
8062009 Falla
¿No será que te falta un 0 delante del 8? Quizá la longitud del campo está fastidiando la consulta. Si tienes el campo en la base definido como 00-00-0000 y le metes 0-00-0000 es muy posible que falle.
Revisa esa posibilidad antes de mirar con más detalle.
Respuesta
1
Creo que tu problema esta en el formato de configuración de fecha de tu equipo, pues cuando digitas 17 de junio, el pc sabe que no existe el mes 17 por lo tanto siempre tomara la fecha correcta, ahora si cuando colocas 8 de junio no sale nada seguramente se debe a que esta asumiendo que 8 es el mes no el día, por lo tanto para el pc tu fecha no seria 8 de junio sino 6 de agosto, esto se soluciona cambiando la configuración regional para que coincida con la de tu base de datos o al revés si así lo prefieres.
Muchas gracias pro la respuesta
Pero lo he intentado y están en el mismo formato, ademas haciéndolo como una consulta normal si lo consigue hacer, pero en el caso de meterlo dentro de la función printpdf no!
No se me ocurre otra cosa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas