从Excel宏调用Access查询

时间:2013-03-18 16:27:32

标签: vba ms-access excel-2010 ms-access-2010

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

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

'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")

1 个答案:

答案 0 :(得分:1)

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

在VBA窗口中,选择Tools > References...。如果您看到旧的DAO引用,如...

“Microsoft DAO 3.6对象库”

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

你想要将旧的DAO引用升级到这个......

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

...为此,您需要从here下载并安装Microsoft Access数据库引擎2010可再发行组件。