是否可以读取Excel工作簿的标题行以确定在导入表之前是否存在某些字段?如果在导入之前缺少某些特定字段,我希望收到通知。
我的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
您可以创建查询来查找工作表数据,而无需打开或链接。
SELECT *
FROM [Sheet1$] IN 'C:\Path\to\File\ExcelFile.xlsx'[Excel 12.0;HDR=No;IMEX=0;];
可以与DAO一起使用,也可以与OLEDB一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句