【发布时间】:2020-07-14 16:35:23
【问题描述】:
是否可以在导入表格之前读取 Excel 工作簿的标题行以确定某些字段是否存在?如果在导入之前缺少这些特定字段,我希望收到通知。
My Access 数据库要求用户从不同系统生成的 Excel 文件中导入数据,用户可以在其中选择要导出的字段。有时用户不小心没有选择我的数据库工作所需的某些字段,这会导致错误,然后我会收到电子邮件。如果缺少字段,当前导入不会出错,这很好,因为并非所有字段都是必需的,只是某些字段。
作为参考,这是我现在用来导入的代码。它运行良好并完成了它应该做的事情:
Private Sub ImportEDAS()
On Error GoTo SubError
DoCmd.Hourglass True
DoCmd.SetWarnings False
If IsFile(Me.ImportFolder & "\perselection.xlsx") = True Then
DoCmd.OpenQuery "qryClearEDAS"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "tblEDAS", Me.ImportFolder & "\perselection.xlsx", True
MsgBox DCount("*", "tblEDAS") & "Records Imported", vbInformation + vbOKOnly, "EDAS Import Status"
Else
MsgBox "Could not find perselection.xlsx in the import folder.", vbCritical + vbOKOnly, "EDAS Import Status"
End If
SubExit:
On Error Resume Next
DoCmd.Hourglass False
DoCmd.SetWarnings True
Exit Sub
SubError:
MsgBox "Error Number: " & Err.Number & "- " & Err.Description, vbCritical + vbOKOnly, "ImportEdas Sub Error"
Resume SubExit
End Sub
【问题讨论】: