Я пытаюсь добавить связанную таблицу в базу данных Acccess, используя ADO и ADOX (от excel).Невозможно изменить Link Datasource через ADO для формата accdb
Однако каждый раз, когда я пытаюсь, я получаю сообщение об ошибке: «Microsoft Access не поддерживает привязку к базе данных Access или Microsoft Office Excel, сохраненной в формате, который является более поздней версией, чем текущий формат базы данных».
Как связанная таблица, так и целевая база данных создаются с использованием Access 2010 и имеют формат .accdb. Мой код:
Set cat = New ADOX.Catalog
Set tbl = New ADOX.Table
' Open the catalog.
cat.ActiveConnection = objConnection
tbl.ParentCatalog = cat
tbl.Name = "Promotions"
tbl.Properties("Jet OLEDB:Link Datasource") = strCurrentPath & _
"LocPrcCh.accdb"
tbl.Properties("Jet OLEDB:Remote Table Name") = "Promotions"
tbl.Properties("Jet OLEDB:Create Link") = True
tbl.Properties("Jet OLEDB:Link Provider String") = _
"MS Access;PWD=XXXXXXXXX;"
cat.Tables.Append tbl
Возвращает ошибку после последней строки. Любые идеи, как сделать эту работу?
Зачем использовать VBA для соединения таблиц из двух разных баз данных? – Trace
Это решение, написанное на языке Excel, поскольку большинство пользователей не имеют доступа на своих компьютерах. В решении используются два основных источника данных: база данных Promotions (обновляется много раз в день) и большая база данных референций (которая обновляется раз в месяц), которые расположены на сервере. В excel создается локальная копия обеих баз данных на компьютере, на котором он запущен. Иногда ему нужно одновременно запускать запросы по таблицам из обеих баз данных, для этого я создаю базу данных со ссылками на таблицы для обеих локальных баз данных. И я запрашиваю эту объединенную базу данных. –