需要帮助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