Events MS Access 2007表单加载事件未触发

Events MS Access 2007表单加载事件未触发,events,ms-access,vba,onload-event,Events,Ms Access,Vba,Onload Event,A2007应用程序中的两个窗体在OnOpen事件后已停止触发其OnLoad事件。这些事件已经运行多年了,我无法确定为什么OnLoad事件现在没有运行 相反,单击表单上的任何控件都会触发OnLoad事件,包括窗口的Close按钮 表单是未绑定的,子表单由OnLoad事件中调用的公共函数过滤。还有许多其他类似的表单,它们仍然在正常工作 我已经通过单击事件[事件过程]旁边属性中的省略号检查了事件是否仍然链接到代码,这将正确引导我到代码 已反编译/重新编译。核对参考资料。导入到新数据库 尝试添加Reco

A2007应用程序中的两个窗体在OnOpen事件后已停止触发其OnLoad事件。这些事件已经运行多年了,我无法确定为什么OnLoad事件现在没有运行

相反,单击表单上的任何控件都会触发OnLoad事件,包括窗口的Close按钮

表单是未绑定的,子表单由OnLoad事件中调用的公共函数过滤。还有许多其他类似的表单,它们仍然在正常工作

我已经通过单击事件[事件过程]旁边属性中的省略号检查了事件是否仍然链接到代码,这将正确引导我到代码

已反编译/重新编译。核对参考资料。导入到新数据库

尝试添加RecordSource从anyTable LIMIT 1中选择anyField,但不起作用,然后通过将Me.RecordSource=Me.RecordSource添加为OnOpen事件中的最后一行,找到了一个解决方法,这将触发OnLoad事件


这是我在近20年的Access开发中第一次遇到这种情况,每当Access出现“错误行为”时,我都会非常紧张,我真的很想找出问题所在。欢迎提出任何建议

我在开发的表单中也遇到了同样的问题,但是我在打开事件中没有任何代码,但在打开表单时,我的加载事件代码突然停止运行

在Open事件中添加Me.RecordSource=Me.RecordSource代码,然后解决了问题

我知道这不是答案,但它确实证明了Max的代码不可能在公开赛中挂断


唯一其他重要的信息是,我正在两台PC上开发此功能,一台使用Access 2007,另一台使用2010,但我不记得在我将代码移回Access 2007 PC后加载事件是否停止运行。

在MS Access 2016中出现了相同症状的问题。 但是添加Me.RecordSource=Me.RecordSource对我没有帮助,反而使情况变得更糟

在成功地尝试了其他建议的解决方案,从头构建了一个全新的表单之后,我再次构建了它,并在每一步检查它是否仍然有效

结果表明,access无法处理调用返回值为可选参数默认值的函数。这适用于表单模块中定义的所有过程


由于我对VBA和Access开发相当陌生,这可能是一个初学者的错误,但可能有人在这里发布它会有所帮助。

确实很奇怪。我在互联网上找到的关于这个问题的其他每一个例子都提到与该事件的链接丢失。。但你已经检查过了。可能不起作用,但您是否已清除事件链接,删除子定义并将其复制到其他位置,然后通过点击On Load属性中的省略号并粘贴到定义中来重新创建事件?另一个虽然很糟糕的解决方法是调用Load sub作为打开sub的最后一行。另外,进行了压缩和修复?我想不出为什么会发生这种情况,但从使用未绑定表单来看,打开和加载事件之间没有太大区别,我知道这不能解决问题,但你能不能把代码移到公开活动中?@mattdonan有很大的不同。无法在打开事件中引用控件。不工作的窗体是否有任何ocx控件?有奇怪的控制吗?你更新过Windows或Office吗?参考文献的顺序有变化吗?