Reporte con filtro

Tengo un formulario en donde capturo información de fechas de ingreso y salida y claves, de documentos, lo que quiero es que al imprimir el informe de este formulario me pida la fecha de ingreso para que solo obtenga los registros que tengan esta fecha en el reporte e imprimirlos. O en dado caso solo imprimir los registros que acabo de capturar.

1 Respuesta

Respuesta
1
Para conseguir filtrar la información del informe que vas ha imprimir, te recomiendo dos opciones:
1º) En la consulta origen del informe, incluye un parámetro de tipo fecha como criterio del campo por el que quieras filtrar. Con esto conseguirás que cada vez que se imprima el informe, te pida la fecha.
Para hacerlo, sigue estos pasos:
- En la ficha de datos de las propiedades del informe, pulsa en el botón ... para editar la consulta origen del informe.
- En cualquier espacio libre del área de la ventana de la consulta, pulsa con el botón derecho del ratón y selecciona parámetros.
- Introduce un nombre para identificar al parámetro y establece Fecha/Hora como tipo de datos.
- En la fila criterios del campo fecha que quieras condicionar, escribe el nombre del parámetro encerrado entre corchetes [].
- Cada vez que se imprima el informe, Access nos mostrará una ventana que nos pedirá el valor de la fecha que utilizará como parámetro.
2º) Poner un botón de comando en el formulario que nos permita imprimir el informe.
- En el evento que nos haya generado el botón, aparecerán unas líneas de comando como:
-----------------------------
Dim stDocName As String
stDocName = "NombreInforme"
DoCmd. OpenReport stDocName, acPreview
-----------------------------
- Antes de ejecutar la orden docmd. Openreport, solicitamos la fecha con la instrucción inputbox y a continuación utilizamos esa fecha como CondicionWhere de la orden docmd. Openreport.
Ej:
------------------------------
Dim stDocName As String
Dim FECHAFILTRO As Date
stDocName = "NombreInforme"
FECHAFILTRO = InputBox("Introduce fecha de ingreso (dd/mm/aaaa):", , Format(Date, "dd/mm/yyyy"))
DoCmd.OpenReport stDocName, acPreview, , "NombreCampoFecha= #" & Format(FECHAFILTRO,"mm/dd/yy") & "#"
-------------------------------
- Ahora si lo que deseas es que la fecha se encuentre en un intervalo determinado, lo haríamos de la siguiente manera:
------------------------------
Dim stDocName As String
Dim FECHAFILTRO_desde As Date
Dim FECHAFILTRO_hasta As Date
stDocName = "NombreInforme"
FECHAFILTRO_desde = InputBox("Introduce desde fecha de ingreso (dd/mm/aaaa):", , Format(Date, "dd/mm/yyyy"))
FECHAFILTRO_hasta = InputBox("Introduce hasta fecha de ingreso (dd/mm/aaaa):", , Format(Date, "dd/mm/yyyy"))
DoCmd.OpenReport stDocName, acPreview, , "NombreCampoFecha BETWEEN #" & Format(FECHAFILTRO_desde,"mm/dd/yy") & "# AND #"& Format(FECHAFILTRO_hasta,"mm/dd/yy") & "#"
-------------------------------
¿Cómo te ha ido el informe?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas