Access - filtrar informe desde formulario access

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 17 puestos en Access (en relación al último mes)
Gráfica de Access

filtrar informe desde formulario access

Publicado por Lucía (1 intervención) el 08/05/2020 10:03:11
Tengo un formulario en Access el cual mediante distintos campos filtra los registros de un subformulario.
Tengo 3 campos de filtro (Matrícula, Proyecto y Fecha Desde-Fecha Hasta). Tanto si filtras un único campo, como si filtras todos a la vez, esto se aplica a los registros del subformulario, que está ligado a una consulta.

El plan es que, una vez tengas los datos filtrados, pulses un botón y se abra un informe con dicho filtro aplicado.
El problema es que, por más que busco y rebusco, y pruebo cada código que me encuentre, no doy con una solución a ello, ya que me sale o el informe como tal sin ningún filtro, o el informe vacío.

He probado estos códigos:
1
2
3
Private Sub BtnImprimir_Click()
    DoCmd.OpenReport "Tareas_Trabajadores", acViewReport, , Me.Filter
End Sub

1
2
3
4
5
6
7
8
9
Private Sub BtnImprimir_Click()
    Dim Criterio As String
    If Me.FilterOn Then
        Criterio = ""
    Else
        Criterio = Me.Subformulario.Form.Filter
    End If
DoCmd.OpenReport "Tareas_Trabajadores", acViewPreview, , Criterio
End Sub

Como tiene que ser algo más flexibe en cuanto a los filtros, he descartado la idea de poner un botón con cada filtro, es decir, editar la consulta para que salga el resultado que se escriba en dicho campo y ya, ya que se puede filtrar por más datos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

filtrar informe desde formulario access

Publicado por jose (830 intervenciones) el 08/05/2020 10:50:45
UNA SOLUCION ES :

EN el informe hazle depender de una consulta, es decir el origen de datos del informe es una consulta : propiedades--> datos--> origen de datos

esa consulta la filtras o condicionas de acuerdo con un campo del formulario .
[FORMS]![nombreformulario]![nombreCuadrotexto]
si los datos son de un subsormulario
Forms![nombre-formulario]![Subformulario-nombre].Form![campo-del-subformulario]


ejemplo
SELECT MOVIMIENTOS.FECHA, MOVIMIENTOS.NUMEASIENTO,
FROM MOVIMIENTOS
WHERE (((MOVIMIENTOS.FECHA) Between [FORMS]![FDIARIO]![FI] And [FORMS]![FDIARIO]![FF])



despues abre el informe sin criterios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

filtrar informe desde formulario access

Publicado por Anonimo (3316 intervenciones) el 08/05/2020 13:41:05
Parte uno, con el origen de datos SIN FILTRAR NADA, se crea el informe como se necesite, el origen de datos (consulta, tabla … es lo de menos, estéticamente no cambiara nada).

En el formulario (que solo es un medio para la toma de datos o así se utilizara) se crea el filtro o se copia (depende del entorno de trabajo que se utilice) y ese filtro se le puede aplicar al informe en tiempo de ejecución, bien como parámetro para OpenArgs (y ya en el informe aplicarlo como filtro) o la alternativa de aplicarlo como filtro el la llamada al informe (puede haber diferencias en el origen de datos)

Es probable que el problema que se presenta (ahora) es que no se tenga en cuenta un supuesto filtro oculto (el que relaciona al formulario principal y al subformulario) pues generalmente en los subformularios se presentan solo un subconjunto de los datos del origen, su 'Filter' solo tendrá en cuenta y actuara con el subconjunto que le permita el formulario principal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar