0

在 MSAccess (VBA) 中创建应用程序时,您只需创建指向它们的链接即可连接到多个数据库(mdb 文件)。现在我用 C/C++ 重写了用户界面,并使用 ODBC 连接到数据库。如何连接到第二个数据库(mdb 文件)并将表中的数据从一个数据库连接到另一个数据库。例如,数据库 1 (file1.mdb) 包含表格发票,数据库 2 (file2.mdb) 包含表格价格。如何将发票与价格结合起来?

4

1 回答 1

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
于 2018-06-21T21:21:48.233 回答