Bonsoir membres du forum,
je recherche la bonne méthode pour générer les rangs d'une classe.
Voici les erreurs constatées:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
48
49
50
51
52
53
54
55
56
57
58 ' ++++ Fonct. pour Générer le RANG ANNUEL d'une Classe Arabe Public Sub RangClasseAnnuelArabe(idetabR As Long, AnneeScol As String, claSar As String) Dim db As Database Dim rst As Recordset Dim SQL As String Dim i As Integer Dim j As Integer Dim K As Integer Dim Moy As Single Set db = CurrentDb SQL = "select * from BILAN_ANNUEL_ARABE where ID_ETABLI = " & idetabR & " and anscol = '" & AnneeScol & "' and ClasseArabe = '" & claSar & "' order by MoyAnnuel desc ;" Set rst = db.OpenRecordset(SQL) If Not rst.EOF Then rst.MoveLast rst.MoveFirst 'bolEx = True i = 1 K = 1 Do While Not rst.EOF rst.Edit If i = 1 Then If GenreEleve(rst.Fields("mle_Eleve")) = "Masculin" Then rst.Fields("Classement") = i & "er" Else rst.Fields("Classement") = i & "ère" End If Else If Moy = rst.Fields("MoyAnnuel") Then If K = 1 Then 'Traitement du 1er Ex-Equo j = i - 1 If GenreEleve(rst.Fields("mle_Eleve")) = "Masculin" Then rst.Fields("Classement") = j & "er ex." K = K + 1 Else rst.Fields("Classement") = j & "è ex." End If End If Else K = 1 rst.Fields("Classement") = i & "è" End If End If rst.Update Moy = rst.Fields("MoyAnnuel") i = i + 1 rst.MoveNext Loop End If rst.Close Set rst = Nothing End Sub
Au lieu de 1er si genre Masculin, 1ère si Féminin. .Et 41ième ex éco le code renvoie 41er ex éco.
Cette discussion est en rapport avec la pièce jointe d'ici https://www.developpez.net/forums/d2...es-intervalle/
Cordialement.
Partager