Compartilhar via


Evento CheckBox.Exit (Access)

O evento Exit ocorre logo antes de um controle perde o foco para outro controle no mesmo formulário ou relatório.

Sintaxe

expressão. Saída (Cancelar)

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

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Cancel Obrigatório Integer Defina como True para cancelar o evento.

Comentários

Esse evento não se aplica a caixas de seleção, botões de opção ou botões de alternância em um grupo de opções. Aplica-se somente ao grupo de opções propriamente dito.

Para executar um macro ou procedimento de evento quando esse evento ocorrer, defina a propriedade OnExit com o nome da macro ou como [procedimento do evento].

Como o evento Enter ocorre antes do foco é movido para um determinado controle, você pode usar um procedimento de evento ou macro Enter para exibir instruções; Por exemplo, você poderia usar um macro ou procedimento de evento para exibir uma pequena formulário ou caixa de mensagem que identifica o tipo de dados que geralmente contém o controle, ou fornecendo instruções sobre como usar o controle.

O evento Exit ocorre antes do evento LostFocus.

Ao contrário do evento LostFocus, o evento Exit ocorre quando um formulário perde o foco. Por exemplo, suponha que você selecione uma caixa de seleção em um formulário e clique em um relatório. Os eventos Enter e GotFocus ocorrerem quando você marcar a caixa de seleção. Somente o evento LostFocus ocorre quando se clica no relatório. O evento Exit não ocorre (porque o foco será movido para uma janela diferente). Se você selecionar a caixa de seleção no formulário novamente para atualizá-lo para o primeiro plano, o evento GotFocus ocorre, mas não o evento Enter (porque o controle tinha o foco quando o formulário foi a última atividade). O evento Exit ocorre somente quando você clicar em outro controle no formulário.

Se você mover o foco para um controle em um formulário, e que o controle não tem o foco nesse formulário, o Sair e eventos LostFocus para o controle que tem o foco no formulário ocorrerão antes dos eventos Enter e GotFocus para o controle movido para.

Se o mouse for utilizado para mover o foco de um controle em um formulário principal para um controle em um subformulário desse formulário (um controle que não tenha mais o foco no subformulário), ocorrerão os eventos a seguir:

  • Exit (para o controle no formulário principal)
  • LostFocus (para o controle no formulário principal)
  • Insira (para o controle de subformulário)
  • Exit (para o controle no subformulário que tinha o foco)
  • LostFocus (para o controle no subformulário que tinha o foco)
  • Insira (para o controle no subformulário que o foco foi movido)
  • GotFocus (para o controle no subformulário que o foco foi movido)

Se o controle para o qual você passou no subforma anteriormente tiver o foco, nem o evento Enter nem o evento GotFocus ocorrerão, mas o evento Enter para o controle de subformação ocorrerá. Se você mover o foco de um controle em um subformulário para um controle no formulário principal, o Exit e LostFocus eventos para o controle no subformulário não ocorrerão, somente o evento Exit do controle de subformulário e os eventos Enter e GotFocus para o controle no formulário principal.

Observação

Muitas vezes você usa o mouse ou uma chave, como Tab, para mover o foco para outro controle. Isso faz com que os eventos de mouse ou de teclado ocorram, além dos eventos discutidos neste tópico.

Exemplo

No exemplo a seguir, dois procedimentos de evento são anexados à caixa de texto LastName . O procedimento de evento Enter exibe uma mensagem especificando que tipo de dados que o usuário pode digitar na caixa de texto. O procedimento de evento Exit exibe uma caixa de diálogo perguntando ao usuário se as alterações devem ser salvas antes do foco será movido para outro controle. Se o usuário clicar no botão Cancelar , o argumento Cancelar será definido como True (1), que move o foco para a caixa de texto sem salvar alterações. Se o usuário escolher o botão OK , as alterações serão salvas e o foco passará para outro controle.

Para experimentar o exemplo, adicione o procedimento de evento a seguir a um formulário que contém uma caixa de texto chamada LastName.

Private Sub LastName_Enter() 
 MsgBox "Enter your last name." 
End Sub 
 
Private Sub LastName_Exit(Cancel As Integer) 
 Dim strMsg As String 
 
 strMsg = "You entered '" & Me!LastName _ 
 & "' as your last name." & _ 
 vbCrLf & "Is this correct?" 
 If MsgBox(strMsg, vbYesNo) = vbNo Then 
 Cancel = True ' Cancel exit. 
 Else 
 Exit Sub ' Save changes and exit. 
 End If 
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.