我在一個 Excel 檔案中有兩個表,我需要將它們匯入 Access,我找到了一種完美的方法,問題是它只在第一次作業(當這個表在 Access 中不存在時匯入表) 但是當我對 Excel 檔案進行更改并再次嘗試此方法時,它不會更新記錄并且基本上什么都不做。
Excel 和 Access 中的表格分別稱為“Messungen”和“Grundinformation”。這是名為 ExcelImport 的模塊的實作代碼:
Public Sub ImportExcelSpreadsheet(fileName As String, tableName As String)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "Messungen", _
fileName, True, "Messung!"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "Grundinformation", _
fileName, True, "Grundinformation!"
Exit Sub
End Sub
我還制作了以下物品。第一個瀏覽并從檔案夾中選擇檔案的人:
Private Sub btnBrowse_Click()
Dim diag As Office.FileDialog
Dim item As Variant
Set diag = Application.FileDialog(msoFileDialogFilePicker)
diag.AllowMultiSelect = False
diag.Title = "Bitte die Excel Datei 'DB_Access_Daten' w?hlen "
diag.Filters.Clear
diag.Filters.Add "Excel Spreadsheets", "*.xls, *.xlsx, *.xlsm"
If diag.Show Then
For Each item In diag.SelectedItems
Me.ExcelDatei = item
Next
End If
End Sub
而這個使用按鈕匯入表格:
Private Sub btnImportTabelle_Click()
Dim FSO As New FileSystemObject
If Nz(Me.ExcelDatei, "") = "" Then
MsgBox "Bitte eine Datei ausw?hlen"
Exit Sub
End If
If FSO.FileExists(Nz(Me.ExcelDatei, "")) Then
ExcelImport.ImportExcelSpreadsheet Me.ExcelDatei, FSO.GetFileName(Me.ExcelDatei)
Else
MsgBox "File not found"
End If
End Sub
如前所述,不幸的是,這不適用于更新值,只是第一次匯入表。我曾想過將資料庫鏈接到 Excel 中的表,但由于 excel 檔案位于共享網路中并且我的磁盤驅動器號與同事的不同,因此遇到了一些麻煩。我不知道代碼是否有問題以及如何修復它。
感謝您提前提供任何幫助!
uj5u.com熱心網友回復:
您應該鏈接電子表格。然后運行更新/追加查詢,如下所示:
一次查詢更新和追加記錄
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429073.html
