微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 MsAccess VBA 代码会出现 OLE 或 ActiveX 错误

如何解决为什么 MsAccess VBA 代码会出现 OLE 或 ActiveX 错误

我必须对同一个文件使用两个不同的 Win10-s 和两个不同的 Office 版本。

为了演示我的问题,我创建了一个简单的 1 文件 MsAccess 数据库。它只有一张表,一个字段 - abc - 和一个链接到它的表单。

首先,我在 Language1 Win10 上的 Office 2013ver (15.0....) 中创建了数据库。要在加载时填充 abc 文本框,代码是这样的:

Private Sub Form_Load()
    With Me
        .abc.SetFocus
        .abc.Text = "ABC"
    End With
End Sub

在第一台机器上运行完美。

然后在另一台在 Language2 Win10 上运行 Office365 (16.0 ....) 的机器上,我创建了一个新表单并将以前的代码复制到这个新表单中。在第二台机器上一切正常,运行正常。

但是如果我将文件复制回原始计算机,并且我想打开第二个表单,我会收到一条错误消息:

“Microsoft Access 与 OLE 服务器或 ActiveX 控件。当事件发生时发生此错误 无法运行,因为事件逻辑的位置不能 被评估。例如,如果表单的 Onopen 属性设置为 =[Field],发生此错误是因为预期在事件发生时运行宏或事件名称。"

我查看了这条消息,发现其他人也有类似的问题,但他们的解决方案对我不起作用。

数据库是单个文件,不使用任何网络资源。两个地方的 ActiveX 设置都相同。

不幸的是,无法在两台机器上运行相同的 Office。开发和最终使用应该在不同的机器上。

所以我的问题是:什么原因导致完全简单、基本的 VBA 代码不能在两台机器上运行。我该怎么做才能在两者上运行代码

提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。