Vba MS Access:从子窗体中删除记录时捕获值

Vba MS Access:从子窗体中删除记录时捕获值,vba,events,ms-access,recordset,Vba,Events,Ms Access,Recordset,删除表单或子表单中的数据时,我希望在BeforeDelConfirm事件中捕获已删除的记录。我知道可以将数据从“删除缓冲区”中取出,用于其他用途 我不想使用Delete事件。我知道可以在记录集中实际删除数据之前从那里获取数据,但我希望它在BeforeDelConfirm事件中从“delete”缓冲区中取出 我知道这是可能的,因为我是几年前做的,但我没有找到正确的代码,在几个Google会话中也没有找到它。艾伦·布朗指出,Delete事件会为每个记录触发,但BeforeDelConfirm会触发一

删除表单或子表单中的数据时,我希望在
BeforeDelConfirm
事件中捕获已删除的记录。我知道可以将数据从“删除缓冲区”中取出,用于其他用途

我不想使用
Delete
事件。我知道可以在记录集中实际删除数据之前从那里获取数据,但我希望它在
BeforeDelConfirm
事件中从“delete”缓冲区中取出


我知道这是可能的,因为我是几年前做的,但我没有找到正确的代码,在几个Google会话中也没有找到它。

艾伦·布朗指出,
Delete
事件会为每个记录触发,但
BeforeDelConfirm
会触发一次,即使选择了多个记录进行删除。因此,没有机会捕捉这些价值

已删除记录的值在BeforeDelConfirm中不可用。使用 删除事件以获取值

可以一次删除多条记录,例如,如果选择 连续形式或数据表中的多个记录。删除事件 为每个记录激发一次,并且该值每次都可用。然后 BeforeDelConfirm和AfterDelConfirm事件将一次性触发 删除,但此时这些值不可用。所以你 需要将已删除记录的值写入数组或 如果要在中读取临时表,请在删除事件中选择临时表 在确认事件之前


他提供了一个例子:

我99%确定您必须使用On Delete事件,否则将没有理由使用它,您将直接转到BeforeDelConfirm。投票被证明是错误的:)你的目的是什么?为什么要避免
OnDelete()
?是否要阻止针对特定情况的删除?(如果是这样,说明很容易找到。)@parakmiakos如果无法访问已删除的数据,为什么要有人使用BeforeDelConfirm事件。@Smandoli我不想避免它。目前我使用它是出于我的目的,但我知道这是可能的,并且希望我记住它是如何以这种方式获取数据的。@user3543239我的意思是,如果可以在BeforeDelConfirm事件中获取已删除的数据,OnDelete事件就没有用了。此时,BeforeDelConfirm事件的存在是为了绕过默认确认框并提供自定义确认框,或者在某些情况下强制取消删除。