Evento Form.Open (Access)

O evento Open ocorre quando um formulário é aberto, mas antes de o primeiro registro ser exibido.

Sintaxe

expressão. Abrir (Cancelar)

expressão Uma variável que representa um objeto Form.

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.

Comentários

Ao executar uma macro ou um procedimento de evento quando ocorre o evento Open de um formulário, você pode fechar outra janela ou mover o foco para um determinado controle em um formulário. É possível também executar uma macro ou um procedimento de evento que solicite informações necessárias antes de o formulário ou relatório ser aberto ou impresso.

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.

O evento Open não ocorre quando você ativa um formulário que já está aberto; por exemplo, quando você alterna para o formulário de outra janela no Microsoft Access ou usa a ação OpenForm em uma macro para levar o formulário aberto para a parte superior. Por outro lado, o evento Activate ocorre nessas situações.

Quando um formulário é aberto fundamentado em uma consulta de base, o Microsoft Access executa essa consulta para o formulário antes de executar a macro ou procedimento de evento Open.

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.

O evento Open ocorre antes do evento Load , que é disparado quando um formulário é aberto e seus registros são exibidos.

Assim que você abre um formulário, os eventos a seguir ocorrem nesta ordem:

AbrircarregarRedimensionarAtivaratual

O evento Fechar ocorre após o evento Descarregar , que é disparado depois que o formulário é fechado, mas antes de ser removido da tela.

Quando você fecha um formulário, os eventos a seguir ocorrem nesta ordem:

DescarregarDesativarFechar

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 você pode cancelar a abertura de um formulário quando o usuário escolhe um botão Não . Uma caixa de mensagem pede para o usuário inserir detalhes do pedido. Se o usuário escolher Não, o formulário Detalhes do Pedido não será aberto.

Para testar o exemplo, adicione o procedimento de evento a seguir a um formulário.

Private Sub Form_Open(Cancel As Integer) 
 Dim intReturn As Integer 
 intReturn = MsgBox("Enter order details now?", vbYesNo) 
 Select Case intReturn 
 Case vbYes 
 ' Open Order Details form. 
 DoCmd.OpenForm "Order Details" 
 Case vbNo 
 MsgBox "Remember to enter order details by 5 P.M." 
 Cancel = True ' Cancel Open event. 
 End Select 
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.