Problema código en informe filtrado access

Requiero de vuestra ayuda de nuevo, tengo un formulario continuo basado en una consulta en el cual tengo varios campos para filtrar con el siguiente código que funciona correctamente:

Sub rbFiltrar(control As IRibbonControl)
    Dim vProf As String
    Dim vFecha As Variant
    Dim vAccion As String
    Dim vMenor As String
    Dim vFamilia As String
    Dim vLargo As Integer
    Dim miFiltro As String
    vProf = Nz(Forms!FFiltroDoble.cboProfesional.Value, "")
    vFecha = Nz(Forms!FFiltroDoble.txtFecha.Value, "")
    vAccion = Nz(Forms!FFiltroDoble.cboAccion.Value, "")
    vMenor = Nz(Forms!FFiltroDoble.cboMenor.Value, "")
    vFamilia = Nz(Forms!FFiltroDoble.cboFamilia.Value, "")
    miFiltro = ""
    If vProf <> "" Then
        miFiltro = "AND [Profesional]='" & vProf & "'"
    End If
    If vFecha <> "" Then
        miFiltro = miFiltro & " AND [Fecha]=#" & Format(vFecha, "mm/dd/yyyy") & "#"
    End If
    If vAccion <> "" Then
        miFiltro = miFiltro & "AND [Accion]='" & vAccion & "'"
    End If
    If vMenor <> "" Then
        miFiltro = miFiltro & "AND [Menor]='" & vMenor & "'"
    End If
    If vFamilia <> "" Then
        miFiltro = miFiltro & "AND [Familia]='" & vFamilia & "'"
    End If
    vLargo = Len(miFiltro)
    If vLargo > 0 Then
        miFiltro = Right(miFiltro, vLargo - 4)
    End If
    Forms!FFiltroDoble.Filter = miFiltro
    Forms!FFiltroDoble.FilterOn = True
End Sub

y luego tengo varios botones para mostrar el informe tanto en vista previa como directamente a impresora o crear un pdf.

Sub rbImprimirInforme(control As IRibbonControl)
     DoCmd.OpenReport "InfIntervencionDoble", Forms!FFiltroDoble.Filter
End Sub
Sub rbVistaPrevia(control As IRibbonControl)
     DoCmd.OpenReport "InfIntervencionDoble", acViewPreview, , Forms!FFiltroDoble.Filter
End Sub
Sub rbCrearPdf(control As IRibbonControl)
    Dim resp As Integer
    Dim rutaPdf As String
    Dim nombreArchivo As String
    rutaPdf = Application.CurrentProject.Path
    rutaPdf = rutaPdf & "\Informes\"
    nombreArchivo = InputBox("Escriba Nombre del PDF", "PDF")
    DoCmd. OpenReport "InfIntervencionDoble", acViewPreview,, Forms! FFiltroDoble. Filter, acHidden
    DoCmd.OutputTo acOutputReport, "InfIntervencionDoble", "PDFFormat(*.pdf)", rutaPdf & nombreArchivo & ".pdf", False, "",, acExportQualityPrint
End Sub

He aquí donde tengo el problema y es que si yo utilizo los filtros me funciona correctamente pero si quiero imprimir el informe, visualizarlo o crear el pdf con todos los resultados sin filtrar no me funciona me muestra el ultimo informe filtrado aunque acabe de abrir el formulario.

1 Respuesta

Respuesta
1

Kike, el problema lo tienes en que al abrir el informe le pasas el filtro que tiene el formulario...

¡Gracias! Y hay manera se solucionarlo o no es posible realizar un informe de todos los datos sin usar los filtros que debería crear un informe nuevo sobre la consulta directamente?

Un saludo

La forma fácil es quitar el filtro del formulario en algún momento antes de abrir el informe...

O usa condicionales para abrirlo filtrado o no...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas