Partilhar via


Evento ComboBox.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. Sair (Cancelar)

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

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 controlo para o qual se moveu no subformulário tinha o foco anteriormente, não ocorre o evento Enter nem o evento GotFocus , mas ocorre o evento Enter para o controlo de subformulário. 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

Utiliza frequentemente o rato ou uma tecla, como a Tecla de Tabulação, para mover o foco para outro controlo. Isso faz com que os eventos de mouse ou de teclado ocorram, além dos eventos discutidos neste tópico.

Exemplo

No exemplo seguinte, são anexados dois procedimentos de evento à caixa de texto Apelido . 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 utilizador clicar no botão Cancelar , o argumento Cancelar está definido como Verdadeiro (1), que move o foco para a caixa de texto sem guardar as alterações. Se o utilizador escolher o botão OK , as alterações são guardadas e o foco muda para outro controlo.

Para experimentar o exemplo, adicione o seguinte procedimento de evento 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.