使用odbc连接到多个ms访问数据库

时间:2018-06-21 20:47:47

标签: ms-access join odbc cross-database

在MSAccess(VBA)中创建应用程序时,您可以通过简单地创建到多个数据库的链接来连接到多个数据库(mdb文件)。现在,我已经用C / C ++重写了用户界面,并使用ODBC连接到数据库。如何连接到第二个数据库(mdb文件),并将表中的数据从一个数据库连接到另一个数据库。例如,数据库1(file1.mdb)包含表发票,数据库2(file2.mdb)包含表价格。如何加入价格发票?

1 个答案:

答案 0 :(得分:1)

假设两个数据库都位于同一网络/服务器或计算机上,请考虑使用分布式查询,在这些查询中您可以用Jet / ACE SQL引擎允许的括号中的文件名。

SELECT p.*, i.*
FROM [C:\Path\To\File1.mdb].[Prices] p
INNER JOIN [C:\Path\To\File2.mdb].[Invoices] i
ON p.ID = i.PriceID

您甚至可以连接到Excel工作簿,假设数据以表格格式从A1单元格(带有列标题)开始:

SELECT p.*, e.*
FROM [C:\Path\To\File1.mdb].[Prices] p
INNER JOIN [Excel 12.0 Xml;HDR=Yes;Database=C:\Path\Workbook.xlsx].[SheetName$] AS e
ON p.ID = e.PriceID

与CSV文件相同:

SELECT p.*, c.*
FROM [C:\Path\To\File1.mdb].[Prices] p
INNER JOIN [text;database=C:\Path\To\CSV\Folder].CSVFile.csv AS c;
ON p.ID = c.PriceID