我正在尝试将特定列从excel文档传输到Access数据库中的特定列中。例如,我的excel工作表可能包含以下内容:
Date Last First Gender Month School Grade
10/1 Rode Danny Male Sept. Ro ISD 10
10/2 Dode Manny Male Sept. Ro ISD 11我的数据库的“学生表”可能包含以下字段:
Type Source Phone Email Last First School Major School Grade我只希望导出标记为:最后、第一、学校、年级的excel列,并将它们放在我的学生表中的相应列中。我已经通过access查看了DoCmd.TransferSpreadSheet中的VisualBasic,但我不确定这是一个解决方案还是有其他方法。任何帮助都将是非常感谢的,因为它将节省我太多的时间!谢谢!
发布于 2017-10-13 20:01:23
要做到这一点,有很多方法。一种快速的方法是将Excel电子表格中的所有数据导入到一个表中(例如"MyExcelImportTable")。然后,您可以创建并运行一个查询,该查询将只追加所需的数据。
INSERT INTO MyStudentTable(Last, First, School, Grade)
SELECT Last, First, School, Grade FROM MyExcelImportTable发布于 2017-10-13 21:54:21
考虑直接从Excel工作表查询,因为两者都可以与Jet/ACE SQL引擎接口。下面假设工作表的数据以A1开头,列标题为。将以下操作查询集成到VBA DAO/ADO调用中,或将其直接置于Access的查询设计(SQL模式)中。
INSERT INTO myAccessTable ([Last], [First], [School], [Grade])
SELECT [Last], [First], [School], [Grade]
FROM [Excel 12.0 Xml;HDR=Yes;Database=C:\Path\To\Excel\File.xlsx].[SheetName$]发布于 2017-10-13 19:52:51
DoCmd.TransferSpreadSheet只会传送一整张纸。有几种方法可以转移您需要的东西:
https://stackoverflow.com/questions/46736875
复制相似问题