Событие Form.BeforeInsert (Access)
Событие BeforeInsert возникает, когда пользователь вводит первый символ в новой записи, но до фактического создания записи.
Синтаксис
expression. BeforeInsert (Cancel)
выражение: переменная, представляющая объект Form.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Отмена | Обязательный | Integer | Параметр определяет, возникает ли событие BeforeInsert . Если для аргумента Cancel задано значение True (1), событие BeforeInsert будет отменено . |
Замечания
Примечание.
Установка значения элемента управления с помощью макроса или Visual Basic не активирует эти события.
Чтобы выполнить макрос или процедуру события при возникновении этих событий, задайте для свойства BeforeInsert или AfterInsert имя макроса или [Процедура события].
Используйте процедуру события AfterInsert или макрос для повторного запроса набора записей при каждом добавлении новой записи.
События BeforeInsert и AfterInsert похожи на события BeforeUpdate и AfterUpdate . Эти события происходят в следующем порядке:
BeforeInsert → BeforeUpdate → AfterUpdate → AfterInsert
В следующей таблице описано взаимодействие между этими событиями.
Событие | Возникает, когда |
---|---|
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 и обратная связь.