Compartilhar via


Evento Report.Open (Access)

O evento Open ocorre antes de um relatório ser visualizado ou impresso.

Sintaxe

expressão. Abrir (Cancelar)

Expressão Uma variável que representa um objeto Report .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Cancel Obrigatório Inteiro A configuração determina se a abertura do formulário ou relatório deverá ocorrer. Definir o argumento Cancelar como True (1) cancela a abertura do formulário ou relatório.

Valor de retorno

Nada

Comentários

Por exemplo, uma macro ou procedimento de evento Open pode abrir uma caixa de diálogo personalizada para que o usuário insira os critérios para filtrar o conjunto de registros a serem exibidos em um formulário ou o intervalo de dados a ser incluído em um relatório.

Quando um relatório é aberto fundamentado em uma consulta de base, o Microsoft Access executa a macro ou o procedimento de evento Open antes de executar a consulta de base para o relatório. Isso permite que o usuário especifique critérios para o relatório antes de ser aberto; por exemplo, em uma caixa de diálogo personalizada que você exibe quando o evento Open ocorre.

Se seu aplicativo puder ter mais de um formulário carregado por vez, use os eventos Ativar e Desativar em vez do evento Abrir para exibir e ocultar barras de ferramentas personalizadas quando o foco se mover para um formulário diferente.

Quando o evento Fechar ocorrer, você pode abrir outra janela ou solicitar o nome do usuário para fazer uma entrada de log indicando quem usou o formulário ou relatório.

Se você estiver tentando decidir se deve usar o evento Open ou Load para o procedimento de macro ou evento, uma diferença significativa é que o evento Open pode ser cancelado, mas o evento Load não pode. Por exemplo, se você estiver criando dinamicamente uma fonte de registro para um formulário em um procedimento de evento para o evento Open do formulário, poderá cancelar a abertura do formulário se não houver registros a serem exibidos. Da mesma forma, o evento Unload pode ser cancelado, mas o evento Close não.

Exemplo

O exemplo a seguir mostra como usar uma instrução Structured Query Language (SQL) para estabelecer a fonte de dados de um relatório, conforme ele é aberto.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.