2013-03-18 111 views
1

我有一個Excel中調用Access數據庫(.mdb)中查詢的VBA宏。但是,Access已更新爲.accdb文件,我不知道如何更改宏(和/或包含任何庫,因爲我沒有真正理解該部分),以便代碼可以工作。從Excel宏調用訪問查詢

這是當前的「頭」代碼:

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

您是否嘗試更新'Set MyDatabase'語句中的文件名並運行代碼?如果是這樣,發生了什麼? – 2013-03-18 16:42:27

+0

是的。我收到一個無法識別的數據庫錯誤。我認爲這是因爲MyDatabase是一個DAO.Database,它需要是ADO。但我不明白這一切。 – user2183177 2013-03-18 16:53:22

+0

如果您有近期足夠的組件(用於ACE數據庫引擎),則DAO仍可與.accdb文件一起使用。你使用的是什麼版本的Excel? – 2013-03-18 16:57:45

回答

1

如果您收到一個「無法識別的數據庫格式」錯誤然後您的Excel項目,可以使用舊的DAO(數據訪問對象)引用不知道如何處理.accdb文件。

在VBA窗口中,選擇Tools > References...。如果你看到一箇舊的DAO參考像...

「Microsoft DAO 3.6對象庫」

...那麼,可以說明這個問題。

你要升級舊的DAO參考這個...

「的Microsoft Office 14.0 Access數據庫引擎對象庫」

...要做到這一點,您需要從here下載並安裝Microsoft Access數據庫引擎2010 Redistributable。