1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
Public Sub CalculerNouveauNumDossier(prmCodeCompteur As Variant)
'La création du compteur doit être fait lors de la création de la période.
If Not MODE_DEBUG Then
On Error GoTo Err_CalculerNouveauNumDossier
End If
Dim db As Database: Set db = CurrentDb
'Calculer le nouveau numéro séquentiel
Dim rCompteur As Recordset: Set rCompteur = db.OpenRecordset("Compteur", dbOpenDynaset)
Call rCompteur.FindFirst("[CodeCompteur]=""" & prmCodeCompteur & """")
Dim nouveauNumSeq As Long
If Not rCompteur.NoMatch() Then
RepriseSurVerouillage:
rCompteur.Edit
nouveauNumSeq = rCompteur![DernierNumSeq] + 1
rCompteur![DernierNumSeq] = nouveauNumSeq
rCompteur.Update
Else
Error 5: 'Clef non trouvée
End If
rCompteur.Close: Set rCompteur = Nothing
db.Close: Set db = Nothing
m_NumSequence = nouveauNumSeq
Exit_CalculerNouveauNumDossier:
Exit Sub
Err_CalculerNouveauNumDossier:
Select Case Err.Number
Case 3046, 3158, 3186, 3187, 3188, 3202, 3218, 3260, 3330, 3624
'Boucle tant que le compteur est vérouillé
Resume RepriseSurVerouillage
Case Else
Call AfficherMessErrStandard(Err)
Resume Exit_CalculerNouveauNumDossier
End Select
End Sub |
Partager