Событие WebBrowserControl.BeforeUpdate (Access)
Событие BeforeUpdate возникает перед обновлением измененных данных в элементе управления или записи.
Синтаксис
expression. BeforeUpdate (Cancel)
Выражение Переменная, представляющая объект WebBrowserControl .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Отмена | Обязательный | Integer | Параметр определяет, возникает ли событие BeforeUpdate . Если для аргумента Cancel задано значение True (1), событие BeforeUpdate будет отменено . |
Возвращаемое значение
Отсутствует
Примечания
Изменение данных в элементе управления с помощью Visual Basic или макроса, содержащего действие SetValue, не активирует эти события для элемента управления. Однако при переходе к другой записи или сохранении записи возникает событие BeforeUpdate формы.
Чтобы выполнить макрос или процедуру события при возникновении этого события, задайте для свойства BeforeUpdate имя макроса или [Процедура события].
Это событие не применяется к кнопкам параметров, флажкам или переключателям в группе параметров. Он применяется только к самой группе параметров.
Событие BeforeUpdate активируется при обновлении элемента управления или записи. В записи измененные данные в каждом элементе управления обновляются, когда элемент управления теряет фокус или когда пользователь нажимает клавишу ВВОД или TAB. Когда фокус покидает запись или пользователь нажимает кнопку Сохранить запись в меню Записи , вся запись обновляется, а данные сохраняются в базе данных.
При вводе новых или измененных данных в элементе управления в форме, а затем переходе к другой записи или сохранении записи путем нажатия кнопки Сохранить запись в меню Записи событие AfterUpdate для формы возникает сразу после события AfterUpdate для элемента управления .
При переходе на другую запись возникают события Exit и LostFocus для элемента управления, за которым следует событие Current для записи, в которую вы переехали, и события ENTER и GotFocus для первого элемента управления в этой записи. Чтобы выполнить макрос или процедуру событий AfterUpdate без выполнения макросов exit и LostFocus или процедур событий, сохраните запись с помощью команды Сохранить запись в меню Записи .
Макросы и процедуры событий beforeUpdate выполняются только при изменении данных в элементе управления. Это событие не возникает при изменении значения в вычисляемом элементе управления. BeforeUpdate макросы и процедуры событий для формы выполняются только при изменении данных в одном или нескольких элементах управления в записи.
Для форм можно использовать событие BeforeUpdate , чтобы отменить обновление записи перед переходом на другую запись.
Если пользователь вводит новое значение в элементе управления, параметр свойства OldValue не изменяется до тех пор, пока данные не будут сохранены (запись будет обновлена). При отмене обновления значение свойства OldValue заменяет существующее значение в элементе управления .
Событие BeforeUpdate часто используется для проверки данных, особенно при выполнении сложных проверок, таких как:
- Использование условий для нескольких значений в форме.
- Отображение различных сообщений об ошибках для разных введенных данных.
- Может быть переопределен пользователем.
- Содержат ссылки на элементы управления в других формах или пользовательские функции.
Примечание.
Для выполнения простых проверок или более сложных проверок, таких как требование значения в поле или проверка нескольких элементов управления в форме, можно использовать свойство ValidationRule для элементов управления и свойства ValidationRule и Required для полей и записей в таблицах.
Ошибка времени выполнения возникает при попытке изменить данные, содержащиеся в элементе управления, который вызвал событие BeforeUpdate в процедуре события.
Пример
В следующем примере показано, как можно использовать процедуру события BeforeUpdate для проверки того, введено ли имя продукта в базе данных. После ввода имени продукта в поле ProductName значение сравнивается с полем ProductName в таблице Products . Если в таблице Products есть соответствующее значение, отображается сообщение, информирующее пользователя о том, что продукт уже введен.
Чтобы попробовать пример, добавьте следующую процедуру события в форму с именем Products , содержащую текстовое поле с именем ProductName.
Private Sub ProductName_BeforeUpdate(Cancel As Integer)
If(Not IsNull(DLookup("[ProductName]", _
"Products", "[ProductName] ='" _
& Me!ProductName & "'"))) Then
MsgBox "Product has already been entered in the database."
Cancel = True
Me!ProductName.Undo
End If
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.