Access - Informes basados en formularios

 
Vista:

Informes basados en formularios

Publicado por Leticia (3 intervenciones) el 08/02/2005 12:01:29
Al abrir un informe, utilizo un formulario en el que elijo los datos que quiero ver en el informe y sobre el que baso la consulta origen sobre la que se basa dicho informe.

Cuando el informe no tiene datos, se cierra tanto el informe como el formulario, y preferiría que el formulario se quedase abierto para poder elegir de nuevo, esto presenta un problema ya que el formulario se abre una vez que se ha abierto el informe y "pertenece" a él, por lo que tendría que cerrar el informe y volver a abrirlo automáticamente para "renovar" el formulario.

¿Cómo podría hacerlo?
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
Imágen de perfil de Alejandro

Crear un informe que muestre los registros más recientes de cada categoría

Publicado por Alejandro (4142 intervenciones) el 24/05/2023 22:17:32
Puedes lograr el comportamiento que deseas utilizando un enfoque basado en VBA (Visual Basic for Applications). A continuación, te proporciono un ejemplo de cómo puedes implementar esta funcionalidad:

1. En el evento "Al hacer clic" del botón o en cualquier otro evento que desees utilizar para abrir el informe desde el formulario, agrega el siguiente código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub btnAbrirInforme_Click()
    ' Abrir el informe
    DoCmd.OpenReport "NombreInforme", acViewPreview, , "Campo = '" & Me.NombreCampo & "'"
 
    ' Comprobar si el informe tiene datos
    If Me.RecordsetClone.RecordCount = 0 Then
        ' Cerrar el informe
        DoCmd.Close acReport, "NombreInforme"
 
        ' Abrir el formulario nuevamente
        DoCmd.OpenForm "NombreFormulario"
    End If
End Sub

Asegúrate de reemplazar "NombreInforme" con el nombre real del informe que deseas abrir y "Campo" con el nombre del campo utilizado en la consulta origen del informe. Además, ajusta "NombreCampo" con el nombre real del control en el formulario que contiene el valor utilizado para filtrar los datos en el informe.

2. Asegúrate de que el formulario tenga un botón (por ejemplo, llamado "btnAbrirInforme") o cualquier otro control que desees utilizar para abrir el informe.

Con este código, al hacer clic en el botón del formulario para abrir el informe, se realizará lo siguiente:

- El informe se abrirá con los datos filtrados según los valores seleccionados en el formulario.
- Se verificará si el informe tiene datos. Si no hay datos, el informe se cerrará y el formulario se abrirá nuevamente para que puedas seleccionar nuevos datos.
- Si el informe tiene datos, se mantendrá abierto y podrás verlo y trabajar con él.

Espero que esto te ayude a lograr el resultado deseado.
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