首页 > 解决方案 > 子窗体的卸载事件中的“撤消”

问题描述

我希望用户确认他对记录所做的更改,因此我在表单中添加了“保存”和“放弃”按钮。丢弃按钮运行DoCmd.RunCommand(acCmdUndo)正常。我还在表单的 Form_Unload 事件中添加了这一行,以在退出前撤消未保存的更改,这也可以正常工作。

问题是当我使用这个表单(比如说form1)作为另一个(主)表单的子表单时。当我点击主窗体的关闭 (X) 按钮时,vba 在 form1 的 Form_Unload 事件下给出此错误:

运行时错误“2046”:命令或操作“撤消”现在不可用。

我也试过Me.Undo了,但显然它在 Unload 事件中根本不起作用。

所以我的具体问题是如何在主窗体的卸载或退出事件中丢弃子窗体中记录的未保存更改。

标签: vbams-access

解决方案


似乎当按下 X 按钮时,一切都被保存了;并且没有撤消可用。Form_Unload来不及拦截保存动作。Form_BeforeUpdate可以代替使用。


推荐阅读