单击错误:“Microsoft Access 与 OLE 服务器或 ActiveX 控件通信时发生”

Posted

技术标签:

【中文标题】单击错误:“Microsoft Access 与 OLE 服务器或 ActiveX 控件通信时发生”【英文标题】:On Click Error: "occurred while Microsoft Access was communicating with the OLE Server or ActiveX Control" 【发布时间】:2015-03-19 05:19:12 【问题描述】:

好像这个问题已经被问过好几次了。

在表单上工作了几周后,单击按钮时突然出现错误:“您作为事件属性输入的 On Click 表达式产生了以下错误:Microsoft Access 与通信时出现问题OLE 服务器或 Active X 控件。”

表单上的任何控件事件也会发生这种情况(例如,在其他文本字段上更新之后)

我尝试重新安装 Access 无济于事。

不确定这是否相关,但我在表单上也有一个子表单。我有一个在子表单上有效的“点击”事件,但是当代码在以下行中断时(之前有效):

Me.Parent.orderID = Null

我得到的错误是:“对象'_Form_frmOrderQuery'的方法'父'失败 (frmOrderQuery 是子表单的名称)

无论如何,在我通过添加更多字段来更改子表单的查询之前,这一切都有效。

最后:所有事件处理程序(按钮单击、更新后等)都可以在数据库中的其他表单上运行。

任何帮助/建议将不胜感激。

谢谢,

杰夫

【问题讨论】:

【参考方案1】:

想通了,这很愚蠢。无论表单有什么问题,只需复制它并删除旧表单即可。将新表单重命名为与上一个相同(这样您的所有 vba 和东西都可以工作)。完成!

【讨论】:

过去一个小时我一直在研究这个问题,除了我的错误说“x 与 OLE 服务器或 ActiveX 控件通信时出现问题”。这解决了它 我遇到了同样的问题。就这么简单,只需更换其副本的表格,问题就消失了!谢谢 不得不说谢谢。今天这对我很有帮助。【参考方案2】:

我刚刚在使用 Access 运行时环境时遇到了类似的问题。看来问题可能出在...非Unicode语言设置。

您添加到查询中的列的名称可能包含一些有问题的字符?

请参阅这篇文章以供参考:https://support.microsoft.com/en-us/kb/907337。它包含一个对我有帮助的决议。

一切顺利!

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。【参考方案3】:

正如其他用户所提到的,问题在于元素(表单控件等)名称中使用了非英文符号。 我的解决方法:

    (可能没有必要)为表单上的任何元素创建事件过程。 切换到代码编辑器。 将光标置于任何过程中。 打开带有元素名称的下拉列表(代码窗口上方的左侧)。 检查您是否看到一些带有“?????”的名称在他们里面。 如果 5 为真,则找出元素是什么,在表单上找到它们并仅使用基本拉丁字母重命名。

【讨论】:

【参考方案4】:

在我的例子中,这个问题是由于重音字符引起的。

我在使用与我创建事件处理程序、函数或子例程的计算机不同的非 Unicode 语言设置的计算机上运行 VBA 代码。注意如果 VBA 代码包含重音字符或特殊字符,也可能会出现此问题。此外,如果 Access 数据库中的对象名称包含重音字符或特殊字符,则可能会出现此问题。

对我有用的解决方案:

“如果您在基于 Microsoft Windows XP 的计算机或基于 Windows 2000 的计算机上运行 VBA 代码,您可以通过更改您所在计算机上的非 Unicode 语言设置来解决此问题运行 VBA 代码。要验证和更改非 Unicode 语言设置,请执行以下步骤。

注意 由于 Microsoft Windows 有多个版本,因此您的计算机上的以下步骤可能会有所不同。如果是,请参阅您的产品文档以完成这些步骤。

点击开始, 点击运行, 键入 Intl.cpl,然后单击“确定”。

在“高级”选项卡上的非 Unicode 程序的语言下,验证语言是否与您在其上创建事件处理程序、函数或子例程的计算机上的语言相匹配。如果语言不同,请单击所需的语言,然后单击“确定”。 重启电脑。

更多https://support.microsoft.com/en-us/help/907337/you-receive-an-error-message-when-you-start-visual-basic-for-applicati

【讨论】:

以上是关于单击错误:“Microsoft Access 与 OLE 服务器或 ActiveX 控件通信时发生”的主要内容,如果未能解决你的问题,请参考以下文章

单击并拖动多个项目时,QListWidget 导致分段错误

Bootstrap - 未捕获的类型错误:无法读取复选框单击时未定义的属性“单击”

AttributeError:“WebElement”对象没有属性“单击”错误尝试使用 Selenium Python 单击链接

无法单击单选按钮,出现“ElementClickInterceptedException”错误

单击通知时打开错误的活动

为啥 Xamarin 会在单击按钮时出现错误?