2013-03-18 3 views
1

У меня есть макрос VBA в Excel, который вызывает запрос в базе данных Access (.mdb). Тем не менее, Access был обновлен в файле .accdb, и я не знаю, как изменить макрос (и/или включить любые библиотеки, поскольку я еще не совсем понимаю эту часть), чтобы код работал.вызов запроса Access из макроса 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' и запустить код? Если да, то что случилось? –

+0

Да. Я получаю неузнаваемую ошибку базы данных. Я думаю, это потому, что MyDatabase - это DAO.Database, и она должна быть ADO. Но я все это не понимаю. – user2183177

+0

DAO по-прежнему работает с файлами .accdb, если у вас есть достаточно последние компоненты (для механизма базы данных ACE). Какую версию Excel вы используете? –

ответ

1

Если вы получаете сообщение об ошибке «неузнаваемый формате базы данных», то ваш проект Excel может использовать старый DAO (Access Data Objects) ссылка, не знать, как обращаться с файлами .accdb.

В окне VBA выберите Tools > References.... Если вы видите, старый DAO ссылка как ...

"Microsoft DAO 3.6 Object Library"

... то, что может объяснить проблему.

Вы хотите обновить эту старую ссылку на DAO этого ...

«Microsoft Office Access 14,0 Библиотека объектов Database Engine»

... и делать, что вам нужно загрузить и установить Microsoft Access Database Engine 2010, распространяемый с here.

Смежные вопросы