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
| Private Sub SelectNOMITINL(StrNomTable As String, NomCritere As String, NomIncrementer1 As String)
Dim rs As New ADODB.Recordset
Dim res As New ADODB.Recordset
Dim nbLignes As Integer
Dim nbLignes1 As Integer
Dim ChnSQL As String
Dim counter As Integer
'initialisation des variables
nbLignes = 0
ChnSQLRequete1 = "Select " & NomCritere & " from " & StrNomTable & " group by " & NomCritere & ";"
rs.Open ChnSQLRequete1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
nbLignes = rs.RecordCount
counter = 1
If (nbLignes <> 0) Then
rs.MoveFirst
While rs.EOF <> True
ChnSQLRequete2 = "Select " & NomIncrementer1 & " from " & StrNomTable & " where " & StrNomTable & "." & NomCritere & "=" & rs.Fields(0).Value & _
" order by " & StrNomTable & "." & NomIncrementer1 & ";"
res.Open ChnSQLRequete2, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
nbLignes1 = res.RecordCount
If (nbLignes1 > 0) Then
res.MoveFirst
While res.EOF <> True
res.Fields(0).Value = counter
res.Update
counter = counter + 1
res.MoveNext
Wend
res.Close
Else
res.Close
End If
counter = 1
rs.MoveNext
Wend
End If
End Sub |
Partager