Form.BeforeDelConfirm 事件 (Access)

BeforeDelConfirm 事件发生后对缓冲区的用户删除一个或多个记录,但前 Microsoft Access 显示对话框来询问用户确认删除操作。

语法

表达式BeforeDelConfirm (CancelResponse)

expression:表示 Form 对象的变量。

参数

名称 必需/可选 数据类型 说明
Cancel 必需 Integer 该设置确定是否 BeforeDelConfirm 事件会发生。 Cancel参数设置为 True 可取消 BeforeDelConfirm 事件,并防止显示 删除确认对话框。 如果取消该事件,则会恢复原始的记录,但 AfterDelConfirm 事件仍会发生。 如果 Cancel设置为 True ,则忽略 Response参数。 如果 Cancel 设置为 False (0) ,则 Access 将使用 Response 参数中的值来确定 Delete 事件的响应类型。
响应 必需 Integer 一个内部常量,确定 Access 是否显示 “删除确认 ”对话框,询问是否应删除记录。 acDataErrContinue 继续而不显示 删除确认对话框。 将 Cancel参数设置为 FalseacDataErrContinueResponse参数使 Microsoft Access 不提示用户的情况下删除记录。 acDataErrDisplay 将显示 删除确认对话框。 默认值是 acDataErrDisplay

备注

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

当记录被删除后,它存储在临时缓冲区中。 在 Access 数据库中, BeforeDelConfirm 事件在 Delete 事件 (之后发生,或者如果删除了多个记录,则所有记录都被删除后发生,每个记录) 发生 Delete 事件,但在显示“ 删除确认 ”对话框之前。 取消 BeforeDelConfirm 事件从缓冲区还原或多个记录,并禁止显示 删除确认对话框。

在 Access 数据库中, AfterDelConfirm 事件在记录实际删除或取消删除后发生。 如果未取消 BeforeDelConfirm 事件, AfterDelConfirm 事件发生后会显示 删除确认对话框。 即使取消了 BeforeDelConfirm 事件, AfterDelConfirm 事件会发生。

如果取消 Delete 事件,则 BeforeDelConfirm 事件不会发生,并且不会显示 “删除确认 ”对话框。

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

注意

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

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

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

然后,在 Access 显示“删除确认”对话框要求确认删除之前,将发生 BeforeDelConfirm 事件。 通过确认或取消删除到对话框中响应后, 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。