¿Puedo filtrar un informe usando los filtros de un formulario?

Tengo un subformulario el cual filtro a través de cuatro campos situados en el formulario principal, usando este código:

Dim filtrocamion, filtroConductor, filtroCliente, filtrofecha As String

If IsNull(Me.BuscarCamion) Then
filtrocamion = "IdPorte > 0"
Else
filtrocamion = "Camion =" & Me.BuscarCamion
End If

If IsNull(Me.BuscarConductor) Then
filtroConductor = "IdPorte > 0"
Else
filtroConductor = "Conductor =" & Me.BuscarConductor
End If

If IsNull(Me.BuscarCliente) Then
filtroCliente = "IdPorte > 0"
Else
filtroCliente = "Cliente =" & Me.BuscarCliente
End If

If IsNull(Me.BuscarFecha1) Or IsNull(Me.BuscarFecha2) Then
filtrofecha = "IdPorte > 0"
Else
filtrofecha = "Fecha BETWEEN # " & Format(Me.BuscarFecha1, "mm-dd-yyyy") & "# AND #" & Format(Me.BuscarFecha2, "mm-dd-yyyy") & "#"
End If

Me.formBuscarPorte1.Form.Filter = filtrocamion & " AND " & filtroConductor & " AND " & filtroCliente & " AND " & filtrofecha
Me.formBuscarPorte1.Form.FilterOn = True

¿Podría usar una estructura similar para abrir un informe filtrado por los mismos cuadros combinados?

Respuesta
1

Si los campos hacen parte del informe claro que sí, puede utilizar la cláusula WHERE, algo como

Concatene los filtros en uno solo, por ejemplo,

DIM strFiltro AS String

strFiltro=filtrocamion & " AND " & filtroConductor  & " AND " & filtroCliente & " AND " & filtrofecha 

DoCmd. OpenReport "mireporte", acViewPreview,, strFiltro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas