Discussion:
Insérer depuis une requête dans une table
(trop ancien pour répondre)
youssefalaouia
2019-10-05 22:43:56 UTC
Permalink
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
2019-10-06 10:23:23 UTC
Permalink
Bonjour,
Post by youssefalaouia
Bonjour,
(ID_Notes,ID_Candidat,Matiere,Moyval,Classement).
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 :
https://support.office.com/fr-fr/article/cr%C3%A9er-et-ex%C3%A9cuter-une-requ%C3%AAte-mise-%C3%A0-jour-9dddc97c-f17d-43f4-a729-35e5ee1e0514
youssefalaouia
2019-10-06 11:19:08 UTC
Permalink
Post by youssefalaouia
Bonjour,
Post by youssefalaouia
Bonjour,
(ID_Notes,ID_Candidat,Matiere,Moyval,Classement).
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.
https://support.office.com/fr-fr/article/cr%C3%A9er-et-ex%C3%A9cuter-une-requ%C3%AAte-mise-%C3%A0-jour-9dddc97c-f17d-43f4-a729-35e5ee1e0514
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
2019-10-07 16:59:24 UTC
Permalink
Bonjour,
Post by Michel__D
Post by youssefalaouia
Bonjour,
Post by youssefalaouia
Bonjour,
(ID_Notes,ID_Candidat,Matiere,Moyval,Classement).
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.
https://support.office.com/fr-fr/article/cr%C3%A9er-et-ex%C3%A9cuter-une-requ%C3%AAte-mise-%C3%A0-jour-9dddc97c-f17d-43f4-a729-35e5ee1e0514
Bonjour;
je suis désolé Mr Michel__D ; j'ai essayé de résumer mon travail pour ne pas
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 pas
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 en
numérique nommé : R_Notes:basée sur la table T_Notes
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 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;

Loading...