在 Access 中使用 CurrentProject.Connection 或 CurrentDB.Connection 时出现连接错误

原始 KB 数: 2459087

症状

在 Access 中打开数据库时,会收到以下错误消息:

对象“_Current Project”的方法“Connection”失败。

当调用 VBA Application.CurrentProject.Connection 或 Application.CurrentDB.Connection 时,会发生此失败。

原因

Access 数据库引擎/Access 连接引擎 (ACE) 包含在 Microsoft Access 以外的许多产品中,例如 Microsoft Visio 和 Microsoft Project。 如果安装的 ACE 版本不同于 Access 的版本,注册表中的 ACEOLEDB.DLL 路径可能不会指向相应的 ACE 版本。

解决方案

应该可以通过运行 Office 或 Access 安装修复来解决此问题。

或者,可以修改注册表项以更改 dll 路径,使其与 Access 版本的路径匹配。

注意

Access 2007 - OFFICE12、Access 2010 - OFFICE14、Access 2013 - OFFICE15 和 Access 2016 - OFFICE16。

MSI 安装

(OS:64 位和 Office:64 位) 或 (OS:32 位和 Office:32 位)

项:HKCR\CLSID\{3BE786A0-0366-4F5C-9434-25CF162E475E}\InprocServer32\

值名称: (默认)

值数据: C:\Program Files\Common Files\Microsoft Shared\OFFICE15\ACEOLEDB.DLL

(OS:64 位和 Office:32 位)

项:HKCR\Wow6432Node\CLSID\{3BE786A0-0366-4F5C-9434-25CF162E475E}\InprocServer32\

值名称: (默认)

值数据: C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\ACEOLEDB.DLL

单击 2-运行安装

(OS:64 位和 Office:64 位) 或 (OS:32 位和 Office:32 位)

项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Classes\CLSID\{3BE786A0-0366-4F5C-9434-25CF162E475E}\InprocServer32

值名称: (默认)

值数据: C:\Program Files\Common Files\Microsoft Shared\OFFICE15\ACEOLEDB.DLL

(OS:64 位和 Office:32 位)

项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Classes\Wow6432Node\CLSID\{3BE786A0-0366-4F5C-9434-25CF162E475E}\InprocServer32

值名称: (默认)

值数据: C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\ACEOLEDB.DLL