【发布时间】:2016-05-17 13:05:33
【问题描述】:
需要有关 Access VBA 的帮助 我正在尝试将电子表格从 excel 导入访问。导入后,它将被附加到另一个表中,并且导入表将被删除,以便我可以导入新的电子表格。但是,我在追加时出现错误,我需要追加整个表格,因为我并不总是知道电子表格中的标题以及它们的数量。 请帮忙。下面是我一直在处理的代码。
模块-
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 这些工作表大部分具有相似的字段名称,但也有一些具有新字段或不同名称的字段。我想将所有这些转储到一个表中,然后我可以编写一些 qry 来识别字段并创建标准命名约定。
标签: ms-access import vba append