vba - 子窗体的卸载事件中的“撤消”
问题描述
我希望用户确认他对记录所做的更改,因此我在表单中添加了“保存”和“放弃”按钮。丢弃按钮运行DoCmd.RunCommand(acCmdUndo)
正常。我还在表单的 Form_Unload 事件中添加了这一行,以在退出前撤消未保存的更改,这也可以正常工作。
问题是当我使用这个表单(比如说form1)作为另一个(主)表单的子表单时。当我点击主窗体的关闭 (X) 按钮时,vba 在 form1 的 Form_Unload 事件下给出此错误:
运行时错误“2046”:命令或操作“撤消”现在不可用。
我也试过Me.Undo
了,但显然它在 Unload 事件中根本不起作用。
所以我的具体问题是如何在主窗体的卸载或退出事件中丢弃子窗体中记录的未保存更改。
解决方案
似乎当按下 X 按钮时,一切都被保存了;并且没有撤消可用。Form_Unload
来不及拦截保存动作。Form_BeforeUpdate
可以代替使用。
推荐阅读
- vue.js - 如何通过 vue js 更改 JSON 对象的键名
- reverse-engineering - windbg - VAD (!vad)、PTE (!pte) 和加载的模块和部分(lm 和!dh)之间的关系是什么?
- node.js - 如何从本地 node_modules 运行 babel 节点
- dart - 扑。如何运行恒定/永久通知?
- python - OSError: [WinError 193] %1 不是有效的 Win32 应用程序无法让 Python 导入库
- javascript - 如何使用 Puppeteer 抓取 reddit 页面?
- c# - 如何使用 Xamarin Android 蓝牙打印机打印阿拉伯字符和条形码。打印机型号为 Star L300
- google-chrome - 无法在 Chrome 开发工具 javascript 控制台中打印变量
- c++ - 如何找到一个字符数组出现在另一个字符数组中的次数?
- dart - Flutter AppBar 中可以放置多少项才溢出