gratifiant > microsoft.* > microsoft.access

youssefalaouia (06/10/2019, 00h43)
Bonjour,
j'ai une table T_Notes :
(ID_Notes,ID_Candidat,Matiere,Moyval,Classement).
pour calculer le rang des moyennes j'ai crée une requête ;R_Rang:
Classement: CpteDom("*";"R_Notes";"[Moyval]>" & Remplacer([Moyval];",";".") &
AND [Matiere]='" & [Matiere] & "'")+1
je me lance dans le SQL dans vba mais j'ai du mal comprendre la syntaxe pou
copier le champ Classement calculé (R_Rang) dans le champ(Classement) de l
table T_Notes .
Merci pour toute réponse.
Michel__D (06/10/2019, 12h23)
Bonjour,

Le 06/10/2019 à 00:43, youssefalaouia a écrit :
> Bonjour,
> j'ai une table T_Notes :
> (ID_Notes,ID_Candidat,Matiere,Moyval,Classement).
> pour calculer le rang des moyennes j'ai crée une requête ;R_Rang:
> Classement: CpteDom("*";"R_Notes";"[Moyval]>" & Remplacer([Moyval];",";".") & "
> AND [Matiere]='" & [Matiere] & "'")+1
> je me lance dans le SQL dans vba mais j'ai du mal comprendre la syntaxe pour
> copier le champ Classement calculé (R_Rang) dans le champ(Classement) de la
> table T_Notes .
> Merci pour toute réponse.


"R_Notes" (dans ta requête R_Rang) correspond à quoi ?

Après la nécessité de stocker le résultat d'un champ calculé est discutable.

Sinon pour mettre à jour une table :
youssefalaouia (06/10/2019, 13h19)
Le dimanche 06 Octobre 2019 à 12:23 par Michel__D :
> Bonjour,
> Le 06/10/2019 à 00:43, youssefalaouia a écrit :
> "R_Notes" (dans ta requête R_Rang) correspond à quoi ?
> Après la nécessité de stocker le résultat d'un
> champ calculé est discutable.
> Sinon pour mettre à jour une table :



Bonjour;
je suis désolé Mr Michel__D ; j'ai essayé de résumer mon travail pour ne pa
donner plus de détails cause d' alourdir ma question,alors que non,
je m'explique dans ma table j'ai un champ moyenne (texte court) (que je n'ai pa
déclaré ) ou je stock des notes des absent des exclus)
alors pour calculer le rang j'ai crée une requête qui transforme ce champ e
numérique nommé : R_Notes:basée sur la table T_Notes
Moyval
CDbl(VraiFaux([Moyenne]="exclu";-2;VraiFaux([Moyenne]="absent";-1;[Moyenne])))
et enfin pour calculer le rang une requête nommée R_Rang
classement : CpteDom("*";"R_Notes";"[Moyval]>" & Remplacer([Moyval];",";".") &
AND [Matiere]='" & [Matiere] & "'")+1
Alors tous simplement je cherche à copier le résultat du classement dans l
table T_Notes.
je m'excuse j'au du être claire depuis le début..
Michel__D (07/10/2019, 18h59)
Bonjour,

Le 06/10/2019 à 13:19, youssefalaouia a écrit :
[..]
> AND [Matiere]='" & [Matiere] & "'")+1
> Alors tous simplement je cherche à copier le résultat du classement dans la
> table T_Notes.


Non, il ne faut pas copier le résultat dans une table, par contre tu peux (ré)utiliser la requête
suivante pour avoir le rang de chaque candidat par matière (mode SQL) :

SELECT T.[ID_Notes], T.[ID_Candidat], T.Matiere, T.Moyval, Count(T1.Moyval) AS Classement
FROM T_Notes AS T INNER JOIN T_Notes AS T1 ON (T.Matiere=T1.Matiere) AND (T.Moyval<=T1.Moyval)
GROUP BY T.[ID_Notes], T.[ID_Candidat], T.Matiere, T.Moyval
ORDER BY T.Matiere DESC , T.Moyval DESC;
Discussions similaires