【问题标题】:Outlook 2010 connection to Access 2016 program not respondingOutlook 2010 连接到 Access 2016 程序没有响应
【发布时间】:2017-09-01 04:12:07
【问题描述】:

我们最近将 access 2007 db 升级到 2016,更新后我们的 Outlook 功能停止工作。函数如下:

Private Function GetZeusConnection() As ADODB.Connection     
Dim con As New ADODB.Connection
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Y:\path\to\database.accdb;Persist Security Info=False;"
Set GetZeusConnection = con

Outlook 似乎无法使用当前库打开 Access 2016。有人有想法吗?

编辑:在引用中它说 Access 16.0 对象库,我们不能手动添加 12.0 库(即使机器上可以使用 access 2007,尽管安装屏幕很小,这似乎也改变了对象库每次运行时的前景)

编辑 2:当 2007 是最后打开的版本时,它确实有效,将引用更改为 12.0

编辑 3:我们已经尝试将字符串中的版本号更改为 16.0,但没有成功

【问题讨论】:

  • 您的代码有效。有任何错误信息吗?调试时,在哪条指令上失败或挂起?
  • 没有错误信息显示,标准的windows“程序没有响应”消息框弹出加载栏,屏幕变灰。需要注意的是,在引用中它说的是 Access 16.0 对象库,我们不能手动添加 12.0 库(即使机器上可以使用 access 2007)
  • 顺便说一句,它挂在 con.open 命令上
  • 只是为了确保:您在 Outlook 中的 VBA 项目仍然有对 Mircosoft ActiveX Data Objects x.x 的引用,对吗?您需要使用 ADODB.Connection 对象
  • 我对 Access 2016 没有任何经验,但阅读一些 comments on MSDN 你可能必须使用 provider=Microsoft.ACE.OLEDB.16.0

标签: vba ms-access outlook


【解决方案1】:

您应该切换到后期绑定以避免版本问题。 Google 用于“早期与晚期绑定”。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多