sql使用excel数据填充表

时间:2016-01-25 14:08:43

标签: sql excel vba access-vba recordset

我在将整个Excel电子表格中的数据导入访问表时遇到问题

已经尝试过该代码: INSERT INTO Table1 IN " & CurrentDb.Name & " SELECT * FROM" & strFile & "[Template$];" 但它不起作用 然后我使用transferpradheet: DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Table1", strFile, False, "Template$",但结果相同

有没有选项可以通过vba将excel中的数据粘贴到访问表中?或者一次性粘贴整个记录集,而不循环遍历字段和记录?

我想让它变得通用,这意味着我不知道有多少列&行在excel电子表格中。我的目标是将其粘贴到空访问表

1 个答案:

答案 0 :(得分:0)

如果表存在,您可以使用这样的SQL语法:

INSERT INTO Table1 (Field1, Field2, Field3, Field4) 
SELECT *
  FROM [Sheet1$D3:E24] 
    IN 'C:\Temp\MyData.xls' [Excel 8.0;HDR=YES;IMEX=0];

如果要将整个电子表格导入新表格,请使用:

SELECT * INTO Table1  FROM [Sheet1$] IN 'C:\Temp\MyData.xls' [Excel 8.0;HDR=YES;IMEX=0];