0
我有一些代碼從另一個表中獲取值,然後更新表中的值。此代碼位於基於另一個表的記錄集中的每個項目執行的循環中。代碼首次運行,但下一次在第一行發生錯誤,表示由於表被另一用戶或用戶界面持有而導致訪問被拒絕。代碼使用DAO。記錄集關閉後dbDenyWrite仍然有效
任何人都知道爲什麼dbDenyWrite在關閉記錄集並銷燬其引用後仍然有效?
下面的代碼片段:
Set rsRR = DataDB.OpenRecordset("Railroads", dbOpenTable, dbDenyWrite)
rsRR.Index = "Railroads_RRIx"
rsRR.Seek "=", RTrs!RR
If rsRR.NoMatch Then
' Write ERROR MESSAGE
rsRR.Close
Set rsRR = Nothing
GoSub CleanUp
ReverseRouteDataCollect = 0
Exit Function
End If
If Not dWork Is Nothing Then Set dWork = Nothing
Set dWork = New Scripting.Dictionary
FieldsSave dWork, rsRR
i = FieldsCopy(drr, dWork, "TemplatesRailroad")
If dWork(rsRR.Name & "$LastWaybillNo") = "999999" Then
rsRR.Edit
rsRR!LastWaybillNo = 2001
rsRR.Update
Else
rsRR.Edit
rsRR!LastWaybillNo = dWork(rsRR.Name & "$LastWaybillNo") + 1
rsRR.Update
End If
rsRR.Close
Set rsRR = Nothing