You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows10下MS Access2016 VBA编辑器致运行对象置空问题咨询

提问:Win10+Access2016中打开VBA编辑器选中代码行导致全局对象被置为Nothing?

我最近在Windows 10系统上运行MS Access 2016调试VBA代码时,碰到了一个特别诡异的交互问题,想请教下有没有同行遇到过类似情况,或者能帮忙分析下可能的原因?

问题详情:

  • 我的Access应用启动时,启动窗体的Form_Load方法里会实例化一个全局对象,供后续所有依赖的窗体使用,代码是:Set musrInfo = New usrInfo,其中usrInfo是我自己写的存储用户信息的类模块。
  • 一旦我打开VBA编辑器,并且在任意代码模块中选中某一行代码之后,之前已经实例化好的musrInfo对象就会被自动置为Nothing
  • 后续再打开依赖这个对象的窗体时,直接触发运行时错误,我已经通过插桩代码(在关键位置添加Debug.Print musrInfo Is Nothing输出)确认了这个现象是稳定复现的。

额外信息:

  • 这个应用的之前版本,以及我维护的其他MS Access VBA应用,都没有出现过这个问题;
  • 当前的.accdb编译文件大小约20MB,其中数据表只包含少量参数数据,窗体、报表等对象占了13MB以上。

补充测试结果:

  • 将该文件放到Win7/MS Access 2010环境下运行,未出现任何异常;
  • 在出现问题的原PC上,把文件复制到其他文件夹中运行,也没有出现这个对象被置空的问题。

内容的提问来源于stack exchange,提问作者Earthman55

火山引擎 最新活动