I’ve got several users updating the same database at the same time using a loop in a DAO recordset. Occassionally I hit a record that is locked but a second later it will process OK.
What is the best way to waste a second before I retry.
intRetries = 0 strAction = "Update Server Record" Set rstServer = db.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges) ' *** for each record add or update *** If rstServer.EOF Then rstServer.AddNew Else Retry_Edit: rstServer.Edit End If For Each fld In rstLocal.Fields strFieldName = fld.Name rstServer(strFieldName) = rstLocal(strFieldName) Next rstServer.Update Exit_Procedure: On Error Resume Next Exit Function Error_Handler: Select Case strAction Case "Update Server Record" If intRetries < 5 Then intRetries = intRetries + 1 'waste some time Resume Retry_Edit end if Case Else End Select MsgBox "Error: " & Err.Number & "; Description: " & Err.Description, vbCritical, DBEngine(0)(0).Properties("AppTitle") Resume Exit_Procedure Resume 'used for debugging