Calcule moyenne general etudiant [Résolu]

Signaler
-
 Abdelhak -
salam
je cherche de afficher un relevé de note étudiant avec moyenne général par coefficient mais je n'arrive pas a la calculé car quand je fait une requette d'afficher Etudiant et formation et note et coefficient il s'affiche qu'un etudiant avoir plus de formation et ça me donne un module a plusieurs coefficient.
voici mes relations entre tables.

7 réponses

Messages postés
441
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
10 octobre 2020
29
Bonjour,

il manque l'image de tes relations.

Aussi, difficile de comprendre, tu n'as pas de "," et de "." sur ton clavier ??

A+
desolé, tellement j'ai écrit rapidement , j'ai pas fait des arrets de phrases
donc j'ai une base de donnée access de 5 tables
- Etudiant(NumEtud,Nom,Prenom,dateNaiss,codeFormation)
-Formation(CodeFormation,intitulé,durée)
-Module(NumModule,intitulé)
-ModuleFormation(CodeFormation,NumModule,coefficient)
-Notes(NumEtud,NumModule,Note)
je veut calculer moyenne des notes avec coefficient.
Messages postés
441
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
10 octobre 2020
29
Re,

tu veux la moyenne totale ou la moyenne par module ?

A+
Messages postés
441
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
10 octobre 2020
29
Faudrait que tu mette à disposition ta base via https://www.cjoint.com/

Pour avoir un jeu d'enregistrements afin de tester.

Essaie ceci pour voir si la moyenne correspond aux notes et coef que tu as saisis :
SELECT etudiant.nometud, formation.intitule, module.intitule, Sum([note]*[coefficient])/Sum([coefficient]) AS moyenneponderee
FROM (([module] INNER JOIN ModuleFormation ON module.nummodule = ModuleFormation.nummodule) INNER JOIN (etudiant INNER JOIN notes ON etudiant.numetud = notes.numetudiant) ON module.nummodule = notes.nummodule) INNER JOIN formation ON (etudiant.codeformation = formation.codeformation) AND (ModuleFormation.codeformation = formation.codeformation)
GROUP BY etudiant.nometud, formation.intitule, module.intitule;



Sur ce je vais au dodo, je verrai demain apm où tu en es.

A+
Messages postés
441
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
10 octobre 2020
29
Tiens, tu as mis la question résolue ??

A+
cette requette ça marche avec la moyenne de chaque note mais moi je cherche la moyenne general , ça veut dire calcul de tout les notes au coefficient en resultat de moyenne general.
et merci pour votre attention.
Messages postés
441
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
10 octobre 2020
29
donc tu ne veux pas la moyenne par module.

Si tu fais :
SELECT etudiant.nometud, Sum([note]*[coefficient])/Sum([coefficient]) AS moyenneponderee
FROM (([module] INNER JOIN ModuleFormation ON module.nummodule = ModuleFormation.nummodule) INNER JOIN (etudiant INNER JOIN notes ON etudiant.numetud = notes.numetudiant) ON module.nummodule = notes.nummodule) INNER JOIN formation ON (etudiant.codeformation = formation.codeformation) AND (ModuleFormation.codeformation = formation.codeformation)
GROUP BY etudiant.nometud;



Après, sans données, difficile de tester, le mieux comme je te l'ai demandé, c'est de mettre à dispo ta base avec les données.
ça marche
merci pour la solution.