編輯:改變我有相同的代碼不同的問題創建和寫入數據到一個表的MS Access
2日編輯:添加額外的代碼,這似乎是casuing
我所創建的問題訪問中的vba程序,它聚合來自多個外部源的數據並將結果寫入新表。理想情況下,當我運行該程序時,我想清除當前表中的所有數據,並將其替換爲新數據。我目前正在刪除所有數據表中的...然後寫我的新數據
這裏是代碼以供參考
Function getTestFixtures(FixtureName As String) As Recordset
Dim db As Database
Set db = OpenDatabase(GetDBPath & "TestFixtures.xlsx", False, False, "Excel 12.0;HDR=Yes;")
If db Is Nothing Then
MsgBox "Can't find the file!", vbExclamation, ThisWorkbook.Name
Exit Function
End If
Set getTestFixtures = db.OpenRecordset("Select * from [" & FixtureName & "$]")
End Function
上面創建的記錄被修改,輸出數據被放置在一個字典並傳遞給這個函數。
Sub Write_OTDC_Data(POlist As Dictionary)
Dim Rst As Recordset
DoCmd.SetWarnings False
DoCmd.runsql "Delete * from [OTDC Results]"
DoCmd.SetWarnings True
Set Rst = CurrentDb.OpenRecordset("OTDC Results")
With Rst
For Each key In POlist.Keys
.AddNew
For i = 0 To 9
.Fields(i).value = POlist(key)(i)
Next
.Update
Next
.Close
End With
End Sub
我的問題是,我得到以下錯誤,如果我試圖改變任何東西后運行上述兩個procuedures。
孤立運行的是不產生錯誤。
是否有你不希望運行刪除查詢而不是刪除表的原因? – Fionnuala
與數據的數據丟失@Remou不....我有問題,從鍵衝突上傳。我會試一試,因爲這是一個簡單的修復 – Pynner
我不認爲數據上傳表上的密鑰是一個好主意。它減緩了事情的速度,並且可以像你發現的那樣令人討厭。你不能把鑰匙留下嗎? – Fionnuala