Imprimir informe basado en el resultado de un formulario aplicando múltiples filtros

Tengo un formulario basado en una tabla llamado "Facturas", donde puedo hacer múltiples filtros, como por ejemplo, ver todas las facturas que están pendientes de pago, por un banco determinado, que tienen el visto bueno y de una obra determina, todo esto lo puedo hacer, lo que no se hacer es como puedo imprimir todos esos registros en un informe, gracias por vuestra ayuda. Si lo baso en el criterio de la consulta indicado el ID del registro, solo me imprime 1 solo registro y yo quiero que puedan imprimirse todos los que coincide con el resultado del formulario.

1 respuesta

Respuesta
1

Para responderte adecuadamente necesitaría saber si el filtro en el formulario lo haces por medio de la propiedad Filtro o lo haces cambiando el origen de datos del formulario. En el primer caso es muy simple, en el segundo hay que "enredar" un poco más. Si me indicas el código que usas para filtrar los datos te doy una solución adecuada a lo que ya tienes montado.

El formulario esta basado en una tabla y mediante cuadros combinados realizo el filtro, te adjunto ejemplos:

Eso no me aclara nada, dime que código usas para filtrar para saber qué método estas aplicando

No te lo pregunto por que sí, sino porque se me ocurren tranquilamente 5 o 6 formas de abrir un informe filtrado desde un formulario, pero claro, dependen en gran medida de cómo filtres el formulario. Te menciono dos, que son los más simples.

Por lo que veo en las imágenes, si construyes el informe directamente sobre esa consulta y lo lanzas con el formulario abierto y filtrado, el informe ya se te tendría que abrir filtrado por los mismos valores que los que tengas en los cuadros combinados del formulario, sin hacer nada especial.

Si en los cuadros combinados tienes algún código que va encadenando los nombres de los campos con los valores de los cuadros combinados para formar una cadena (la llamaré miFiltro) , y luego lo aplicas al formulario haciendo Me.Filter=miFiltro y Me.FilterOn=True, puedes abrir el informe desde el propio formulario con:

DoCmd. OpenReport "nombreInforme", acViewPreview,, miFiltro

no uso ningún código, como te he puesto en el ejemplo, tengo un cuadro combinado llamado PROVEEDORC en el formulario donde busco la información del proveedor dentro de la misma tabla llamada FACTURAS

y en el evento después de actualizar pongo    Me.Form.Requery

y en el origen de datos del formulario, que es la tabla FACTURAS en el criterio del campo PROVEEDOR tengo la siguiente sentencia

Como "*" & [forms]![Facturas-Entrada]![PROVEEDORC] & "*"

y así sucesivamente con cada campo que quiero filtrar y para quitar el filtro he creado un boton donde ejecuta lo siguiente 

Me.PROVEEDORC = Null
Me.Requery

Perdona, no se si es esto lo que  me pides, pero es lo que utilizo para filtrar los registros en el formulario continuo.

Pues entonces ya tienes la solución en mi anterior respuesta: basta con hacer el informe sobre la consulta y abrirlo con los valores en los cuadros combinados del formulario (que lógicamente debe estar abierto a abrir el informe)

Disculpa Sveinbjorn, he cometido el error del novato, como tu bien me indicas tenia que usar en el informe la misma consulta que en el formulario y yo no ponía los criterios del formulario en el informe, los campos eran los mismos pero sin los criterios de filtrado, todo solucionado, como siempre eres fabuloso, mil gracias.

Un placer ayudar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas