1

我在 Excel 中有一个 VBA 宏,它调用 Access 数据库 (.mdb) 中的查询。但是,Access 已更新为 .accdb 文件,我不知道如何更改宏(和/或包含任何库,因为我还没有真正理解该部分)以便代码可以工作。

这是当前的“标题”代码:

'Step 1: Declare your variables
Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset


'Step 2: Identify the database and query
Set MyDatabase = DBEngine.OpenDatabase("C:\Users\Ben\Google Drive\Database\Production\FOREAL PROD.mdb")
4

1 回答 1

1

如果您收到“无法识别的数据库格式”错误,那么您的 Excel 项目可能正在使用不知道如何处理 .accdb 文件的旧 DAO(数据访问对象)引用。

在 VBA 窗口中,选择Tools > References.... 如果您看到旧的 DAO 参考,例如...

“Microsoft DAO 3.6 对象库”

......那么这可以解释这个问题。

您需要将旧的 DAO 引用升级到这个...

“Microsoft Office 14.0 Access 数据库引擎对象库”

...为此,您需要从此处下载并安装 Microsoft Access Database Engine 2010 Redistributable 。

于 2013-03-18T17:57:07.917 回答