将新数据导入现有 table 访问 vba

Import new data into existing table access vba

目前我可以将 excel 数据输入到新的 table 中,但我想在每次 select 新的 excel sheet?我现在使用的代码如下所示。

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

Link table:

DoCmd.TransferSpreadsheet acLink, …

然后创建一个追加查询,使用此链接 table 作为源并将您的数据写入(追加)到您的示例 table。

如果您打算将记录附加到 table,您应该使用 ImportExcelSpreadsheet 函数每次都导入到新的临时 table。

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

' 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"