Событие Form.Delete (Access)
Происходит, когда пользователь выполняет какое-либо действие, например нажатие клавиши Delete, чтобы удалить запись, но до фактического удаления записи.
Синтаксис
expression. Delete (Cancel)
выражение: переменная, представляющая объект Form.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Отмена | Обязательный | Integer | Параметр определяет, возникает ли событие Delete . Если для аргумента Cancel задано значение True (1), событие Delete будет отменено. |
Замечания
Чтобы выполнить макрос или процедуру события при возникновении этих событий, задайте для свойства OnDelete, BeforeDelConfirm или AfterDelConfirm имя макроса или [Процедура события].
После удаления записи она сохраняется во временном буфере. Событие BeforeDelConfirm возникает после события Delete (или, если вы удалили несколько записей, после удаления всех записей, с событием Delete для каждой записи), но перед отображением диалогового окна Подтверждение удаления . Отмена события BeforeDelConfirm восстанавливает запись или записи из буфера и предотвращает отображение диалогового окна Удалить подтверждение .
Событие AfterDelConfirm возникает после фактического удаления записи или после отмены удаления или удаления. Если событие BeforeDelConfirm не отменено, событие AfterDelConfirm возникает после отображения диалогового окна Удалить подтверждение . Событие AfterDelConfirm возникает, даже если событие BeforeDelConfirm отменено. Процедура события AfterDelConfirm возвращает сведения о состоянии удаления. Например, можно использовать макрос или процедуру события, связанную с событием AfterDelConfirm, для пересчета итогов, затронутых удалением записей.
Если отменить событие Delete , события BeforeDelConfirm и AfterDelConfirm не возникают, а диалоговое окно Удалить подтвердить не отображается.
Примечание.
События BeforeDelConfirm и AfterDelConfirm не возникают, а диалоговое окно Удалить Подтверждение не отображается, если снять флажок Записать изменения в разделе Подтвердить на вкладке Дополнительно диалогового окна Параметры доступа , доступной, нажав кнопку Microsoft Office, а затем выбрав Параметры доступа.
Запустив макрос или процедуру события при возникновении события Delete , вы можете предотвратить удаление записи или разрешить удаление записи только при определенных условиях. Вы также можете использовать событие Delete для отображения диалогового окна с запросом, хочет ли пользователь удалить запись перед ее удалением.
Чтобы удалить запись, выберите Удалить запись в меню Правка . При этом удаляется текущая запись (запись, указанная селектором записей). Вы также можете выбрать селектор записей или выбрать команду Выбрать запись в меню Правка , чтобы выбрать запись, а затем нажать клавишу Delete, чтобы удалить ее. Если выбрать Удалить запись, селектор записей текущей записи, или Выбрать запись, возникают события Exit и LostFocus для элемента управления, на который находится фокус. Если вы изменили какие-либо данные в записи, события BeforeUpdate и AfterUpdate для записи происходят до событий Exit и LostFocus . При выборе селектора записей другой записи также возникает событие Current для этой записи.
После удаления записи фокус перемещается на следующую запись после удаленной записи, и возникает событие Current для этой записи, за которым следуют события ВВОД и GotFocus для первого элемента управления в этой записи.
Затем возникает событие BeforeDelConfirm , непосредственно перед тем как Microsoft Access отобразит диалоговое окно Подтверждение удаления с запросом на подтверждение удаления. После ответа на диалоговое окно, подтвердив или отменив удаление, возникает событие AfterDelConfirm .
Одновременно можно удалить одну или несколько записей. Событие Delete возникает после удаления каждой записи. Это позволяет получать доступ к данным в каждой записи перед их удалением, а также выборочно подтверждать или отменять каждое удаление в макросе или событии Удаления . При удалении нескольких записей событие Current для записи после последней удаленной записи и события ВВОД и GotFocus для первого элемента управления в этой записи не возникают, пока не будут удалены все записи. Иными словами, для каждой выбранной записи возникает событие Delete , но другие события не происходят, пока не будут удалены все выбранные записи. События BeforeDelConfirm и AfterDelConfirm также не происходят, пока не будут удалены все выбранные записи.
Пример
В следующем примере показано, как запретить пользователю удалять записи из таблицы. Чтобы попробовать этот пример, добавьте следующую процедуру событий в форму, основанную на таблице. Переключитесь в представление таблицы формы и попробуйте удалить запись.
Private Sub Form_Delete(Cancel As Integer)
Cancel = True
MsgBox "This record can't be deleted."
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.