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


Событие 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 и обратная связь.