A2007应用程序中的两种窗体在OnOpen事件之后已停止触发它们的事件OnLoad事件。这些事件一直在工作多年,我无法确定为什么OnLoad事件现在没有运行。MS Access 2007窗体OnLoad事件未触发
而是,单击任何控件的窗体触发OnLoad事件 - 包括窗口的关闭按钮。
这些表单是未绑定的,其中的子表单由OnLoad事件中调用的公共函数进行过滤。还有很多其他形式,这些仍然可以正常工作。
我检查了事件仍然链接到代码通过单击事件旁边的属性中的省略号([事件过程]),这使我正确的代码。
已反编译/重新编译。检查参考。导入到一个新的数据库。
尝试添加一个记录源(SELECT anyField FROM anyTable LIMIT 1),其没有工作,然后我发现了一个变通,加入Me.RecordSource = Me.RecordSource作为的OnOpen最后一行事件 - 其中确实然后触发OnLoad事件。
这是Access近20年来我第一次遇到这种情况,而且当Access'行为不端'时我非常紧张,我真的很想找到问题所在。任何建议将是最受欢迎的!
确实很奇怪。在互联网上我可以找到这个问题的其他每一个例子都提到了这个事件的链接,但是你已经检查过了。可能无法正常工作,但是您是否清除了事件链接,删除了子定义(将其复制到其他位置),然后通过在On Load属性中点击省略号并粘贴定义来重新创建事件?另一个(虽然很可怕)的解决方法是将Load子项作为Open子句的最后一行。 – nicholas
也做了一个小巧的修复? – nicholas
我想不出为什么会发生这种情况,但是从使用未绑定的表单开始,“Open”和“Load”事件之间没有太大区别,我知道它并不能解决问题,但你不能将代码移到“打开”事件中吗? –