Событие CommandButton.Exit (Access)

Событие Exit происходит непосредственно перед тем, как элемент управления теряет фокус на другой элемент управления в той же форме или отчете.

Синтаксис

выражение. Выход (Отмена)

выражение Переменная, представляющая объект CommandButton .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Отмена Обязательный Integer Установите значение True , чтобы отменить событие.

Примечания

Это событие не применяется к полям проверки, переключателям или переключателям в группе параметров. Она применяется только к самой группе опций.

Чтобы при возникновении макроса или процедуры события запускалась макрос, задайте для свойства OnExit имя макроса или [Процедура обработки событий].

Так как событие Enter происходит до перемещения фокуса на определенный элемент управления, для отображения инструкций можно использовать макрос Enter или процедуру обработки события; Например, с помощью макроса или процедуры обработки событий можно отобразить небольшую форму или окно сообщения, определяющее тип данных, обычно содержащихся в элементе управления, или предоставляющее инструкции по его использованию.

Событие Exit предшествует событию LostFocus .

В отличие от события LostFocus , событие Exit не возникает, когда форма теряет фокус. Предположим, вы выбрали поле проверки в форме и щелкнули отчет. События Enter и GotFocus происходят при установке флажка проверки. При щелчке отчета возникает только событие LostFocus . Событие Exit не происходит (так как фокус перемещается в другое окно). Если вы снова установите флажок проверки на форме, чтобы вывести ее на передний план, произойдет событие GotFocus, но не событие Enter (поскольку фокус был в элементе управления, когда форма была последней активной). Событие Exit возникает только при щелчке другого элемента управления в форме.

Если вы переместили фокус на элемент управления в форме, и этот элемент управления не находится в фокусе на этой форме, события Exit и LostFocus для элемента управления, находящегося в фокусе на форме, происходят до событий Enter и GotFocus для элемента управления, в который вы переместились.

Если переместить фокус с элемента управления в основной форме на элемент управления подчиненной формы этой формы с помощью мыши (элемент управления, который еще не переместил фокус на подчиненную форму), происходят перечисленные ниже события.

  • Выход (для элемента управления в главной форме)
  • LostFocus (для элемента управления в основной форме)
  • ВВОД (для элемента управления подчиненной формой)
  • Выход (для элемента управления подчиненной формы, находящейся в фокусе)
  • LostFocus (для элемента управления подчиненной формы, находящейся в фокусе)
  • ВВОД (для элемента управления подчиненной формы, на который перемещен фокус)
  • GotFocus (для элемента управления подчиненной формы, на который перемещен фокус)

Если элемент управления, к которому был перемещен элемент управления подчиненной формы, ранее был в фокусе, не происходит ни события "Ввод ", ни события GotFocus , но событие "Ввод " для элемента управления "подчиненная форма" все же происходит. При перемещении фокуса из элемента управления подчиненной формы в элемент управления в главной форме события Exit и LostFocus для элемента управления подчиненной формы не происходят. Произойдет только событие Exit для элемента управления подчиненной формы и события Enter и GotFocus для элемента управления в главной форме.

Примечание.

Для перемещения фокуса на другой элемент управления часто используется мышь или клавиша TAB. Это приводит к тому, что события мыши или клавиатуры происходят в дополнение к событиям, рассмотренным в этом разделе.

Пример

В приведенном ниже примере в текстовом поле "Фамилия " присоединены две процедуры обработки событий. Процедура обработки события Enter отображает сообщение, в котором указывается, какой тип данных пользователь может вводить в текстовое поле. Процедура обработки события выхода отображает диалоговое окно с запросом на сохранение изменений, прежде чем фокус переместится на другой элемент управления. Если пользователь нажимает кнопку "Отмена ", аргумент "Отмена " имеет значение True (1), что перемещает фокус в текстовое поле без сохранения изменений. Если пользователь нажимает кнопку ОК , изменения сохраняются, а фокус перемещается на другой элемент управления.

Чтобы попробовать пример, добавьте следующую процедуру обработки событий в форму, содержащую текстовое поле 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

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.