Dar formato a un informe a través de VBA
Tengo creado un informe al que accedo a través de un formulario donde elijo varias opciones en un desplegable (cuenta contable, cliente, año y período). El código, bastante largo (aunque lo he cortado para que me quepa este mensaje), es el siguiente:
Public Function VerInformeCuentaContableClienteAñoYPeriodo(FName As Form, MrcPeriodo As String, CuentaContable As String, Cliente As String, Año As String, Periodo As String) If Len(miFiltro) > 0 Then miFiltro = Right(miFiltro, Len(miFiltro) - 4) End If If miFiltro = "" Then DoCmd.OpenReport "IInformeDeIngresos", acViewPreview Else DoCmd.OpenReport "IInformeDeIngresos", acViewPreview, , miFiltro, , MiArgumento End If Reports("IInformeDeIngresos").EncabezadoMes.Visible = True Reports("IInformeDeIngresos").EncabezadoTrimestre.Visible = False Reports("IInformeDeIngresos").EncabezadoAño.Visible = True Reports("IInformeDeIngresos").PieMes.Visible = True Reports("IInformeDeIngresos").PieTrimestre.Visible = False Reports("IInformeDeIngresos").PieAño.Visible = True Reports("IInformeDeIngresos").MesAño.Visible = True Reports("IInformeDeIngresos").TrimestreAño.Visible = False Case 2 Reports("IInformeDeIngresos").EncabezadoMes.Visible = False Reports("IInformeDeIngresos").EncabezadoTrimestre.Visible = True Reports("IInformeDeIngresos").EncabezadoAño.Visible = True Reports("IInformeDeIngresos").PieMes.Visible = False Reports("IInformeDeIngresos").PieTrimestre.Visible = True Reports("IInformeDeIngresos").PieAño.Visible = True Reports("IInformeDeIngresos").MesAño.Visible = False Reports("IInformeDeIngresos").TrimestreAño.Visible = True End Select End If End Function
Mi problema es que si llamo a esta función desde el formulario, al cerrar el informe la base de datos se queda bloqueada y tengo que cerrarla a lo bestia, además de que tarda mucho en cargar el informe. Así que había pensado en añadir todo el código referente a ocultar/mostrar distintas secciones del informe al propio informe. Open.Args lo estoy usando para pasarle el caption del informe. ¿Cómo hago entonces para pasar los valores de cada una de las variables que utilizo en los condicionales (cuentacontable, cliente, año y período)?