需要幫助Access VBA 我試圖從Excel導入電子表格到訪問。一旦它被導入,它將被附加到一個不同的表格中,並且導入表格將被刪除,這樣我就可以導入一個新的電子表格。然而,當我追加時,我有錯誤需要追加整個表格,因爲我不會總是知道電子表格中的標題以及它們的數量。 請幫助。以下是我一直在努力的代碼。導入附加vba MS-Access
模塊 -
Option Compare Database
Function selectFile()
Dim fd As FileDialog, fileName As String
On Error GoTo ErrorHandler
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
If fd.Show = True Then
If fd.SelectedItems(1) <> vbNullString Then
fileName = fd.SelectedItems(1)
End If
Else
'Exit code if no file is selected
End
End If
'Return Selected FileName
selectFile = fileName
Set fd = Nothing
Exit Function
ErrorHandler:
Set fd = Nothing
MsgBox "Error " & Err & ": " & Error(Err)
End Function
VBA -
Private Sub cmdImportNoDelete_Click()
'Unset warnings
DoCmd.SetWarnings False
'Import spreadsheet
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "Import", selectFile, True
'SQL append statement, Needs to append entire table (must be able to append multiply table with different headers
DoCmd.RunSQL "INSERT INTO Tbl_ImportDump * FROM Import"
'SQL delete Table
DoCmd.DeleteObject acTable, "Import"
DoCmd.SetWarnings True
End Sub
是你面對的是'Tbl_ImportDump'和'Import'有不同的字段集(「頭」)......一個表包括不存在於其他,也許這兩個領域的基本問題有相同數據的字段,但字段名稱和/或數據類型不完全匹配?如果這是問題,向我們展示用於選擇Excel文件的代碼是沒有用的。 – HansUp
HansUp 工作表大部分具有相似的字段名稱,但也有一些具有新字段或不同名稱字段。我想將所有這些轉儲到一個表中,然後我可以編寫一些qry來標識字段並創建一個標準的命名約定。 – Leofig123