Variables publicas en consultas de Access como parámetro

Quisiera saber cómo hago para que en vba defina una variable que es fecha inicial y realizar un loop de tal manera que voy sumando un día hasta una fecha final pero cada vez que sumo se ejecute un informe.

fecha inicial = 01/10/2015
mientras fecha inicial < 01/03/2016 haga
   imprimir informe
   fecha inicial = fecha inicial +1
Fin

El informe se ejecuta a partir de una consulta que debe llevar esta variable fecha inicial

1 respuesta

Respuesta
1

Para hacer eso tendrás que cambiar tu forma de trabajar, y meter las dos fechas en un formulario, como explico en esta otra respuesta: Access - Solicitud de datos y guardar el dato para imprimir . En tu caso necesitarás 2 cuadros de texto, por ejemplo [txtFechaIni] y [txtFechaFin]

Al código del botón que te lanzará los informes, le pones este código (uso los nombres del ejemplo anterior):

Dim miFechaIni as Date
Dim miFechaFin as Date
miFechaIni = Me.txtFechaIni
miFechaFin = Me.txtFechaFin
Do While miFechaIni<miFechaFin
     DoCmd.OpenReport "NombreInforme"
     miFechaIni=miFechaIni+1
Loop

Igual tienes que poner Do While miFechaIni<=miFechaFin, según tus necesidades.

Un saludo.


Un nuevo foro de access, visítanos: http://nksvaccessolutions.com/Foro/ 

Hola, gracias por tú respuesta, era lo que me quería evitar hacer pero no he encontrado otra respuesta que me sirva.  Lo haré con formulario incrementando la fecha en 1 y actualizando el cuadro de texto para que la consulta recalcule.

De la forma que te indico, solo has de poner una fecha inicial y otra final en los cuadros del formulario y el código te imprime tantos informes como días haya entre las fechas, que era lo que pedías, ¿no?

Bueno, muchas gracias por la respuesta, así lo haré.

Suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas