使用 Window 模式正常通过 OpenForm 宏操作打开时访问弹出窗体背景 Garbled/Distorted

Access Pop Up Form Background Garbled/Distorted When Opened via OpenForm Macro Action with Window Mode Normal

我有一个使用 Access 2013 的数据库,但我必须保持与 Access 2010 的兼容性;我正在使用 Windows 7.

我有一个设置为 Pop Up = Yes 和 Modal = No 的输入表单。直接从导航窗格打开此输入表单时,它可以正常运行。

我在搜索表单中有一个宏,它使用 "OpenForm" 操作调用具有指定记录的此输入表单。当用这个宏打开输入表单时,表单的背景完全乱码(它从调用时从它后面的任何东西中拉出背景图像,就好像它是透明的),所有标签都不可读。

就是说,如果我通过尝试打开不同的记录再次 运行 宏,则表单会正确显示,直到它关闭。此外,如果我将 "OpenForm" 操作中的 "Window Mode" 更改为 "Dialog" 而不是 "Normal,",它会正确显示。

不过,这些都不是有效的解决方案 -- 它应该在第一次运行时就可以工作,而且我不希望表单是模态的。我的所有代码似乎都没有问题(因为我没有收到错误消息),所以我不明白为什么会这样做......非常感谢任何指导。

我发现了导致这个问题的原因,虽然我不明白为什么。

我正在使用的宏来自示例数据库,并且有一些我不完全熟悉的命令。一个这样的命令是 "Requery."

我尝试使用 window 模式删除宏的各个部分,作为 "OpenForm" 命令的 "Normal"。一旦我尝试删除 "Requery"(仅此而已),window 就以 "Normal" 模式打开,没有任何失真。

简而言之,在宏中包含 "Requery" 是导致此错误发生的原因。 这似乎是一个无害的动作(它所做的只是刷新数据,据我所知,如此处所述:https://msdn.microsoft.com/en-us/library/bb177360(v=office.12).aspx),但由于我不明白为什么无论如何都需要将其包含在内(如果有人能对此有所了解,我们将不胜感激),它看起来像这样基本解决了

我希望这对以后的其他人有所帮助!