MS Access Соединить таблицы в отдельных базах данных в Delphi - PullRequest
0 голосов
/ 15 мая 2018

Я использую ADOConnection и AdoQuery для выполнения запросов к базе данных MS Access (mdb).Я хочу объединить две таблицы в разных базах данных (файлы MDB).Я искал в Интернете и нашел это решение: (пример)

select [ZRDocs].* from [ZRDocs] left join [;database=d:\2222.mdb].[ZRDocItems] AS abc on [ZRDocs].[ID] = [abc].[DocID];

, когда я запрашиваю это внутри MSAccess, он работает нормально, но когда я выполняю это с помощью ADOQuery, он выдает исключение:

Parameter object is improperly defined. Inconsistent or incomplete information was provided.

Я использую провайдера Microsoft.Jet.OLEDB.4.0.

Я также использовал полную строку подключения, например:

select [ZRDocs].* from [ZRDocs] 
left join [Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=d:
\2222.mdb;Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;].[ZRDocItems] AS abc 
on [ZRDocs].[ID] = [abc].[DocID];

Я искал в Google и на многих страницах, но ничего не нашел.Итак, как объединить две таблицы из разных баз данных mdb (access) с помощью delphi (ADO)?

1 Ответ

0 голосов
/ 15 мая 2018

Попробуйте этот код:

select [ZRDocs].* 
from [ZRDocs] left join ([ZRDocItems] IN "D:\2222.mdb") AS abc 
     on [ZRDocs].[ID] = [abc].[DocID];
...