Событие Form.Open (Access)

Событие Open возникает при открытии формы, но перед отображением первой записи.

Синтаксис

expression. Открыть (отмена)

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
Отмена Обязательный Integer Параметр определяет, происходит ли открытие формы или отчета. Установка аргумента Отменазначения True (1) отменяет открытие формы или отчета.

Замечания

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

Например, процедура Открытия макроса или события может открыть пользовательское диалоговое окно, в котором пользователь вводит критерии для фильтрации набора записей, отображаемых в форме или диапазоне дат для отчета.

Событие Open не возникает при активации уже открытой формы. например, при переключении на форму из другого окна в Microsoft Access или при использовании действия OpenForm в макросе для перехода открытой формы в начало. Однако в таких ситуациях происходит событие Activate .

При открытии формы на основе базового запроса Microsoft Access выполняет базовый запрос для формы перед запуском макроса или процедуры события Open.

Если приложение может одновременно загружать несколько форм, используйте события Активация и Деактивация вместо события Открыть для отображения и скрытия настраиваемых панелей инструментов при перемещении фокуса в другую форму.

Событие Open возникает перед событием Load , которое активируется при открытии формы и отображении ее записей.

При первом открытии формы в этом порядке происходят следующие события:

Откройте→ →→ → изменитьразмер

Событие Close возникает после события Выгрузки , которое запускается после закрытия формы, но перед ее удалением с экрана.

При закрытии формы в этом порядке происходят следующие события:

Выгрузкадеактивациязакрытие

При возникновении события Close можно открыть другое окно или запросить у пользователя запись в журнале, указывающую, кто использовал форму или отчет.

Если вы пытаетесь решить, следует ли использовать событие Open или Load для макроса или события, одно существенное различие заключается в том, что событие Open можно отменить, а событие Load — нет. Например, если вы динамически создаете источник записей для формы в процедуре события Open формы, вы можете отменить открытие формы, если нет записей для отображения. Аналогичным образом событие Выгрузка можно отменить, но событие Close — нет.

Пример

В следующем примере показано, как отменить открытие формы, когда пользователь нажимает кнопку Нет . В окне сообщения пользователю предлагается ввести сведения о заказе. Если пользователь выбирает Нет, форма "Сведения о заказе " не открывается.

Чтобы попробовать пример, добавьте следующую процедуру события в форму.

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

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

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