Form.AfterDelConfirm 事件 (Access)

AfterDelConfirm 事件在用户确认删除和记录实际已删除或删除取消后发生。

语法

表达式AfterDelConfirm (Status)

expression:表示 Form 对象的变量。

参数

名称 必需/可选 数据类型 说明
状态 必需 Integer 一个固有常量,指示是否已删除记录。 acDeleteOK 指示删除成功。 acDeleteCancel 指示删除在 Visual Basic 中已取消。 acDeleteUserCancel 指示用户已取消删除。

备注

若要在这些事件发生时运行宏或事件过程,请设置 AfterDelConfirm 属性为宏的名称或 [事件过程]。

在删除某一记录后,该记录存储在临时缓冲区中。

在 Microsoft Access 数据库中, AfterDelConfirm 事件发生或实际删除一条记录后删除操作被取消。 如果未取消 BeforeDelConfirm 事件, AfterDelConfirm 事件发生后会显示 删除确认对话框。 即使取消了 BeforeDelConfirm 事件, AfterDelConfirm 事件会发生。 AfterDelConfirm 事件过程返回有关删除操作的状态信息。 例如,可以使用与 AfterDelConfirm 事件的宏或事件过程来重新计算合计受删除的记录。

在 Access 项目中 (.adp) 中, AfterDelConfirm 事件在实际删除记录之前发生。 为了避免在 Microsoft SQL Server上打开不必要的事务,Access 会提示你在打开事务之前确认删除操作。 如果确认删除,Access 将在SQL Server上打开一个事务,发出 DELETE 语句以删除记录,并触发窗体的 Delete 事件。 如果在系统提示确认删除时选择“否”,则 Access 不会在SQL Server上打开事务来删除记录,也不会触发窗体的 Delete 事件。

如果您取消 删除 事件, AfterDelConfirm 事件不会发生,也不会显示 删除确认对话框。

注意

[!注释] AfterDelConfirm 事件不会发生,如果您清除 Access 选项对话框中的 编辑选项卡上 确认下的 记录更改复选框,则不显示 删除确认对话框。

Delete 事件发生时运行宏或事件过程,可以阻止记录被删除或允许仅在特定条件下删除记录。 此外可以使用 Delete 事件显示一个对话框,询问用户是否要删除记录之前将其删除。

删除记录后,焦点将移动到已删除记录后的下一条记录,该记录的 当前 事件发生,然后是该记录中第一个控件的 EnterGotFocus 事件。

然后,在 Access 显示“删除确认”对话框要求确认删除之前,将发生 BeforeDelConfirm 事件。 通过确认或取消删除到对话框中响应后, AfterDelConfirm 事件发生。

您可以一次删除一个或多个记录。 Delete 事件发生后的每条记录被删除。 这使您可以访问每个记录中的数据实际上被删除之前, 有选择性地确认或取消每个删除 删除 宏或事件过程中的。 当您删除多个记录,之后最后一个已删除的记录,并 输入 该记录的 Current 事件,直到删除所有记录在该记录中的第一个控件的 GotFocus 事件不会发生。 换句话说,对于每个选定的记录都发生 Delete 事件,但直到删除所有选中的记录允许其他事件发生。 AfterDelConfirm 事件还会在删除所有选中的记录。

示例

下面的示例演示如何使用 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。