Compartir a través de


Evento Report.Open (Access)

El evento Open se produce antes de que se obtenga una vista previa o se imprima un informe.

Sintaxis

expresión. Abrir (Cancelar)

Expresión Variable que representa un objeto Report .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Cancel Obligatorio Integer El valor determina si se produce la operación de abrir el formulario o el informe. Al establecer el argumento Cancel en True (1), se cancela la apertura del formulario o informe.

Valor devuelto

Nothing

Comentarios

Por ejemplo, una macro o procedimiento de evento Open puede abrir un cuadro de diálogo personalizado en el que el usuario escriba los criterios para filtrar el conjunto de registros que se mostrarán en un formulario o el intervalo de fechas que se incluirá en un informe.

Al abrir un informe basado en una consulta subyacente, Microsoft Access ejecuta la macro Open o el procedimiento de evento antes de ejecutar la consulta subyacente para el informe. Esto permite al usuario especificar criterios para el informe antes de que se abra; por ejemplo, en un cuadro de diálogo personalizado se muestra cuando se produce el evento Open .

Si la aplicación puede tener más de un formulario cargado a la vez, use los eventos Activate y Deactivate en lugar del evento Open para mostrar y ocultar barras de herramientas personalizadas cuando el foco se mueve a un formulario diferente.

Cuando se produce el evento Close , puede abrir otra ventana o solicitar el nombre del usuario para que realice una entrada de registro que indique quién usó el formulario o informe.

Si intenta decidir si desea usar el evento Open o Load para la macro o el procedimiento de evento, una diferencia significativa es que el evento Open se puede cancelar, pero el evento Load no. Por ejemplo, si va a crear dinámicamente un origen de registros para un formulario en un procedimiento de evento para el evento Open del formulario, puede cancelar la apertura del formulario si no hay registros que mostrar. Igualmente, el evento Unload se puede cancelar, pero el evento Close no.

Ejemplo:

En el ejemplo siguiente se muestra cómo usar una instrucción del Lenguaje de consulta estructurado (SQL) para establecer el origen de datos de un informe cuando se abre.

Private Sub Report_Open(Cancel As Integer)

    On Error GoTo Error_Handler

    Me.Caption = "My Application"

    DoCmd.OpenForm FormName:="frmReportSelector_MemberList", _
    Windowmode:=acDialog

    'Cancel the report if "cancel" was selected on the dialog form.

    If Forms!frmReportSelector_MemberList!txtContinue = "no" Then
        Cancel = True
        GoTo Exit_Procedure
    End If
    Me.RecordSource = ReplaceWhereClause(Me.RecordSource, _
      Forms!frmReportSelector_MemberList!txtWhereClause)

Exit_Procedure:
    Exit Sub

Error_Handler:
    MsgBox Err.Number & ": " & Err.Description
    Resume Exit_Procedure
    Resume

End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.