Событие Form.BeforeDelConfirm (Access)
Событие BeforeDelConfirm возникает после того, как пользователь удаляет в буфер одну или несколько записей, но до того, как Microsoft Access отобразит диалоговое окно с просьбой подтвердить удаление.
Синтаксис
expression. BeforeDelConfirm (Cancel, Response)
выражение: переменная, представляющая объект Form.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Отмена | Обязательный | Integer | Параметр определяет, возникает ли событие BeforeDelConfirm . Если для аргумента Cancel задано значение True , событие BeforeDelConfirm будет отменено и диалоговое окно Удалить подтверждение не отображается. Если событие отменено, исходные записи восстанавливаются, но событие AfterDelConfirm по-прежнему возникает. Если параметр Cancel имеет значение True, аргумент Response игнорируется. Если параметр Cancel имеет значение False (0), то значение в аргументе Response используется Access для определения типа ответа на событие Delete . |
Отклик | Обязательный | Integer | Встроенная константа, которая определяет, отображается ли в Access диалоговое окно Подтверждение удаления с запросом, следует ли удалить запись. AcDataErrContinue продолжает работу без отображения диалогового окна Подтверждение удаления . Если для аргумента Cancel задано значение False , а для аргумента Response — acDataErrContinue , microsoft Access может удалять записи без запроса пользователя. AcDataErrDisplay отображает диалоговое окно Удалить подтверждение . Значение по умолчанию — acDataErrDisplay. |
Замечания
Чтобы выполнить макрос или процедуру события при возникновении этих событий, задайте для свойства BeforeDelConfirm имя макроса или [Процедура события].
После удаления записи она сохраняется во временном буфере. В базе данных Access событие BeforeDelConfirm возникает после события Delete (или, если вы удалили несколько записей, после удаления всех записей, с событием Delete для каждой записи), но перед отображением диалогового окна Подтверждение удаления . Отмена события BeforeDelConfirm восстанавливает запись или записи из буфера и предотвращает отображение диалогового окна Удалить подтверждение .
В базе данных Access событие AfterDelConfirm возникает после фактического удаления записи или после отмены удаления или удаления. Если событие BeforeDelConfirm не отменено, событие AfterDelConfirm возникает после отображения диалогового окна Удалить подтверждение . Событие AfterDelConfirm возникает, даже если событие BeforeDelConfirm отменено.
При отмене события Delete событие BeforeDelConfirm не возникает, а диалоговое окно Удалить подтверждение не отображается.
В проекте Access (ADP) событие BeforeDelConfirm возникает до события Delete . Чтобы избежать открытия ненужных транзакций в Microsoft SQL Server, Access предложит подтвердить удаление перед открытием транзакции. Если вы подтвердите удаление, Access открывает транзакцию на SQL Server, выдает инструкцию DELETE для удаления записи или записей и запускает событие Delete формы. При выборе параметра Нет при появлении запроса на подтверждение удаления Access не открывает транзакцию на SQL Server для удаления записи и не запускает событие Delete формы.
Примечание.
Событие BeforeDelConfirm не возникает и диалоговое окно Удалить Подтвердить не отображается, если снять флажок Записать измененияв разделе Подтвердить на вкладке Правка диалогового окна Параметры доступа .
Запустив макрос или процедуру события при возникновении события Delete , вы можете предотвратить удаление записи или разрешить удаление записи только при определенных условиях. Вы также можете использовать событие Delete для отображения диалогового окна с запросом, хочет ли пользователь удалить запись перед ее удалением.
После удаления записи фокус перемещается на следующую запись после удаленной записи, и возникает событие Current для этой записи, за которым следуют события ВВОД и GotFocus для первого элемента управления в этой записи.
Затем возникает событие BeforeDelConfirm , непосредственно перед тем как Access отобразит диалоговое окно Подтверждение удаления с запросом подтвердить удаление. После ответа на диалоговое окно, подтвердив или отменив удаление, возникает событие AfterDelConfirm .
Одновременно можно удалить одну или несколько записей. Событие Delete возникает после удаления каждой записи. Это позволяет получать доступ к данным в каждой записи перед их удалением, а также выборочно подтверждать или отменять каждое удаление в макросе или событии Удаления . При удалении нескольких записей событие Current для записи после последней удаленной записи и события ВВОД и GotFocus для первого элемента управления в этой записи не возникают, пока не будут удалены все записи. Иными словами, для каждой выбранной записи возникает событие Delete , но другие события не происходят, пока не будут удалены все выбранные записи. Событие BeforeDelConfirm не возникает, пока не будут удалены все выбранные записи.
Пример
В следующем примере показано, как можно использовать процедуру события BeforeDelConfirm для подавления диалогового окна Удалить подтверждение и отображения настраиваемого диалогового окна при удалении записи. В нем также показано, как можно использовать процедуру событий AfterDelConfirm для отображения сообщения, указывающего, выполнялось ли удаление обычным образом или было отменено в Visual Basic или пользователем.
Private Sub Form_BeforeDelConfirm(Cancel As Integer, _
Response As Integer)
' Suppress default Delete Confirm dialog box.
Response = acDataErrContinue
' Display custom dialog box.
If MsgBox("Delete this record?", vbOKCancel) = vbCancel Then
Cancel = True
End If
End Sub
Private Sub Form_AfterDelConfirm(Status As Integer)
Select Case Status
Case acDeleteOK
MsgBox "Deletion occurred normally."
Case acDeleteCancel
MsgBox "Programmer canceled the deletion."
Case acDeleteUserCancel
MsgBox "User canceled the deletion."
End Select
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.