Ms access 拦截Microsoft Access中的自动保存

Ms access 拦截Microsoft Access中的自动保存,ms-access,vba,Ms Access,Vba,我有一个MS Access表单,其中包含3层嵌套表单。第二个表单有两个文本框——名字和姓氏。出于某种奇怪的原因,一旦用户开始输入名字,表单就会试图触发保存 我如何知道谁/什么/在哪里触发了保存 我在FOREINSERT处理程序中加入了一个Form_,我可以在那里截取,但是调用堆栈没有指明事件是从哪里触发的 有什么想法吗?来自 “自动保存”是指将焦点更改为时保存的记录吗 另一张唱片?如果是这样,那么就没有内置的“关闭”方法。 但是,在表单的BeforeUpdate事件中放置一些代码非常简单: If

我有一个MS Access表单,其中包含3层嵌套表单。第二个表单有两个文本框——名字和姓氏。出于某种奇怪的原因,一旦用户开始输入名字,表单就会试图触发保存

我如何知道谁/什么/在哪里触发了保存

我在FOREINSERT处理程序中加入了一个Form_,我可以在那里截取,但是调用堆栈没有指明事件是从哪里触发的

有什么想法吗?

来自

“自动保存”是指将焦点更改为时保存的记录吗 另一张唱片?如果是这样,那么就没有内置的“关闭”方法。 但是,在表单的BeforeUpdate事件中放置一些代码非常简单:

If MsgBox("Do you want to save changes?", vbYesNo) = vbNo Then
Cancel = True
Me.Undo
End If 

也许您不想要求用户保存它,所以Me.Undo行就可以了。

当您将焦点从父窗体上的控件切换到子窗体上的控件时,如果父窗体的任何绑定控件包含未保存的值,则该焦点切换会触发父窗体当前记录的保存。我认为没有任何方法可以阻止或推迟这种行为。您必须允许记录保存或放弃更改。如@woliveirajr所建议的,您可以截获更新前表单事件,询问用户是保存还是放弃。您可以对Before Insert事件执行相同的操作