将数据从Excel导入Access

Pra*_*ike -1 excel ms-access vba access-vba

Sheet 1在Excel中有一些列.我需要通过匹配Access和Excel中的列标题将数据导入Access.以同样的方式,我想将多个Excel文件导入Access,根据Access中的列(字段)将数据附加到现有表.

这甚至可能吗?如果是这样,我该怎么做呢?

Fio*_*ala 5

最简单的方法是使用DoCmd.TransferSpreadsheet链接Excel工作表或范围:

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel8, _
"Atable", "z:\docs\test.xls", True, "A1:A15"
Run Code Online (Sandbox Code Playgroud)

然后,您有一个可以使用通常的MS Access SQL操作的表.

您还可以参考Excel工作表[Sheet1$]- 或查询中的范围:

INSERT INTO Table1 ( ADate ) 
SELECT SomeDate FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xls].[Sheet1$a1:a4]
Run Code Online (Sandbox Code Playgroud)

或者使用命名范围,请注意Excel 8.0也适用于2007类型文件.

INSERT INTO Table1 
SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xlsm].[XLTable]
Run Code Online (Sandbox Code Playgroud)

其中XLTable是命名范围.