Ich habe einige Code, der einen Wert aus einer anderen Tabelle erhält, aktualisiert dann den Wert in der Tabelle. Dieser Code befindet sich in einer Schleife, die für jedes Element in Re-Cord-Set basierend auf einer anderen Tabelle ausführt. Der Code funktioniert beim ersten Mal, aber beim nächsten Mal, wenn in der ersten Zeile ein Fehler auftritt, wird der Zugriff verweigert, weil die Tabelle von einem anderen Benutzer oder der Benutzerschnittstelle gehalten wird. Der Code verwendet DAO.dbDenyWrite immer noch in Kraft, nachdem das Recordset geschlossen
Jeder hat eine Ahnung, warum das dbDenyWrite immer noch in Kraft ist, nachdem das Recordset geschlossen und seine Referenz zerstört wurde?
ist hier ein Code-Schnipsel:
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