2016-03-31 6 views
0

başka tablodan bir değer alır bazı kod, daha sonra tabloda değerini günceller var kapattı. Bu kod, kayıt kümesindeki her öğe için başka bir tabloyu temel alan bir döngüde bulunur. Kod ilk kez çalışır, ancak ilk satırdaki hatalar bir sonraki kullanımda reddedilir, çünkü tablo başka bir kullanım veya kullanıcı arayüzü tarafından tutulur. Kod DAO kullanır. dbDenyWrite recordset kapanış ve başvuru yıktıktan sonra hâlâ yürürlüktedir nedendbDenyWrite

Herkes bir ipucu var mı? dbDenyWrite recordset kapanış ve başvuru yıktıktan sonra hâlâ yürürlüktedir neden ..

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 

cevap

0

: Burada

bir kod parçacığı nedir?

yalnızca nomatch durumunda bunu çünkü.

Yani ya düzenlemeleri için izin vermek dbDenyWrite değiştirmek veya (yavaş) düzenlemeden başlamadan önce kayıt sıfırlayın:

Set rsRR = DataDB.OpenRecordset("Railroads", dbOpenTable)