alp*_*nom 5 excel ms-access access-vba ms-access-2010
我正在尝试将特定列从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
Run Code Online (Sandbox Code Playgroud)
我的数据库的My Student Table可能包含以下字段:
Type Source Phone Email Last First School Major School Grade
Run Code Online (Sandbox Code Playgroud)
我只希望导出标记为:Last,First,School,Grade的excel列,并将它们放在我的学生表中各自的列中.我通过访问查看了VisualBasic中的DoCmd.TransferSpreadSheet,但我不确定这是否是一个解决方案或是否有其他方法.任何帮助将不胜感激,因为它会让我度过太多时间!谢谢!
考虑直接从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$]
Run Code Online (Sandbox Code Playgroud)
小智 4
有很多方法可以实现这一点。一种快速方法是将 Excel 电子表格中的所有数据导入到表中(即“MyExcelImportTable”)。然后,您可以创建并运行一个查询,该查询将仅附加您想要的数据。
INSERT INTO MyStudentTable(Last, First, School, Grade)
SELECT Last, First, School, Grade FROM MyExcelImportTable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4393 次 |
| 最近记录: |