为什么 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 (将#修改为@)