使用宏或 VBA 正确关闭 access 2003 中的隐藏窗口?
Posted
技术标签:
【中文标题】使用宏或 VBA 正确关闭 access 2003 中的隐藏窗口?【英文标题】:Properly close a hidden window in access 2003 with Macro or VBA? 【发布时间】:2013-10-28 21:10:32 【问题描述】:如何在 Access 2003 中正确关闭隐藏的表单/窗口,而不转到顶部菜单并选择取消隐藏并手动关闭它?
我只知道一种方法(因为我还不知道 VBA...),那就是使用 Close 操作创建一个按名称关闭窗口/窗体的宏。但是,当我这样做时,它给了我一个错误并说它找不到命名的对象。 (但是,如果我检查取消隐藏窗口列表,则该窗口确实已关闭。)
这真的很烦人,因为显然它正在关闭隐藏窗口,然后抛出一个错误,说它找不到对象(这当然会打乱宏序列)。
有没有更“正确”的方式来关闭隐藏窗口?
所以,答案是……我遇到了 ID-10-T 错误。我在关闭后再次引用隐藏表单,由于代码执行的瞬时性质,我错过了这个事实......
...问题解决了。 PEBKAC。
【问题讨论】:
【参考方案1】:我刚刚在 Access 2010 中测试了这些,它们似乎都可以在隐藏表单上正常工作:
来自宏...
操作:关闭窗口 对象类型:表格 对象名称:AgentsForm 保存:否
来自 VBA 代码...
DoCmd.Close acForm, "AgentsForm", acSaveNo
【讨论】:
经过更多测试,我设法用宏来做到这一点,但似乎隐藏窗口必须由打开它的同一个宏关闭,否则它不会这样做。不确定这是 2003 年的事情还是什么。 @DjM 也许 Access 2003 在这方面有点不同,但是对于我在 Access 2010 中的测试,我只是使用DoCmd.OpenForm "AgentsForm",acNormal,,,,acHidden
从 VBA 即时窗口打开了表单。此外,我从来没有遇到过 VBA DoCmd
变体的问题,因为... 曾经。以上是关于使用宏或 VBA 正确关闭 access 2003 中的隐藏窗口?的主要内容,如果未能解决你的问题,请参考以下文章