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
| Sub Suites()
'--- coche les "suite", sauf la dernière, cela pour tous les dossiers
Dim dB As DAO.Database, rsD As Recordset, rsA As Recordset
Dim sSQL As String, vMax As Long
Set dB = CurrentDb
Set rsD = dB.OpenRecordset("tDoss")
rsD.MoveLast
rsD.MoveFirst
Do While Not rsD.EOF
Debug.Print rsD!Dnum, rsD!DNom
sSQL = "SELECT Anum, ANom, A_Dnum, ASuite FROM tAct WHERE A_Dnum=" & rsD!Dnum & " ORDER BY Anum;"
Set rsA = dB.OpenRecordset(sSQL)
If rsA.RecordCount > 0 Then
rsA.MoveLast
rsA.MoveFirst
'--- tAct.Anum est le champ pris en compte pour détecter si dernier ou pas
vMax = DMax("Anum", "tAct", "A_Dnum=" & rsD!Dnum)
Do While Not rsA.EOF
Debug.Print vMax, rsA!anum, rsA!A_dnum, rsA!anom
rsA.Edit
If rsA!anum < vMax Then
rsA!Asuite = True
Else
rsA!Asuite = False
End If
rsA.Update
rsA.MoveNext
Loop
End If
rsD.MoveNext
Loop
Set rsA = Nothing
Set rsD = Nothing
Set dB = Nothing
End Sub |
Partager