将新数据导入现有的表访问VBA

时间:2018-09-25 19:34:58

标签: excel vba access-vba ms-access-2010

当前,我可以将excel数据输入到新表中,但是我想每次选择新的excel工作表时将新数据追加到表中吗?我现在使用的代码如下所示。

Option Compare Database
Option Explicit

Public Sub ImportExcelSpreadsheet(fileName As String, tableName As String)
On Error GoTo BadFormat
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Sample", 
fileName, True

Exit Sub

2 个答案:

答案 0 :(得分:1)

链接表格:

DoCmd.TransferSpreadsheet acLink, …

然后创建一个追加查询,该查询使用此链接表作为源并将数据写入(追加)到Sample表中。

答案 1 :(得分:0)

如果打算将记录追加到表中,则应使用ImportExcelSpreadsheet函数每次都将其导入到新的临时表中。

之后,您可以将临时表的所有内容附加到目标表,然后删除临时表:

' Import to temp table
ImportExcelSpreadsheet("filename.xlsx", "temp_table")
' Append to destination table
DoCmd.RunSQL "INSERT INTO destination_table SELECT * FROM temp_table"
' Remove temp table
DoCmd.DeleteObject acTable, "temp_table"