Поделиться через


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

Событие BeforeInsert возникает, когда пользователь вводит первый символ в новой записи, но до фактического создания записи.

Синтаксис

expression. BeforeInsert (Cancel)

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

Параметры

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

Замечания

Примечание.

Установка значения элемента управления с помощью макроса или Visual Basic не активирует эти события.

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

Используйте процедуру события AfterInsert или макрос для повторного запроса набора записей при каждом добавлении новой записи.

События BeforeInsert и AfterInsert похожи на события BeforeUpdate и AfterUpdate . Эти события происходят в следующем порядке:

BeforeInsertBeforeUpdateAfterUpdateAfterInsert

В следующей таблице описано взаимодействие между этими событиями.

Событие Возникает, когда
BeforeInsert Пользователь вводит первый символ в новой записи.
BeforeUpdate Пользователь обновляет запись.
AfterUpdate Запись обновлена.
AfterInsert Обновленная запись — это новая запись.

Если первый символ в новой записи вводится в текстовое поле или поле со списком, событие BeforeInsert возникает перед событием Change .

Пример

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

Чтобы попробовать пример, добавьте следующую процедуру события в форму с именем Employees , основанную на таблице или запросе. Переключитесь в представление таблицы формы и попробуйте вставить запись.

Private Sub Form_BeforeInsert(Cancel As Integer) 
 If MsgBox("Insert new record here?", _ 
 vbOKCancel) = vbCancel Then 
 Cancel = True 
 End If 
End Sub 
 
Private Sub Form_AfterInsert() 
 Forms!Employees.Requery 
End Sub

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

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