VBA: Relation,Fonctions

Fermé
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 - 10 févr. 2006 à 15:47
 Utilisateur anonyme - 10 févr. 2006 à 17:06
Bonjour à tous.j'ai un probleme : j'ai 2 tables

Eleve(code_eleve,nom,niveau)
Evaluation (code_eval,no,niveau,mathh,physique,bio,
français,moyenne,moyene_gene)

les eleves sont evalués chaque semaine ça fait 4 notes par matiere et une note sur 100 )et à la fin du mois on a la moyene mensuel ;mathematiquement parlant el est de:( somme des notes)/400.car 4semaine/mois
bon il m'est demandé de stocké les notes et calculer à chaque fois la note sur 100 (somme de note d matiere)et à la fin du mois la moyenne.
la seul chsoe que j'ai pu faire de creer les table et les mettre en relation encore l'intégrité ne marche mm pas. quelqu'un pourrai ma'ider dans les idées ou un bout de code?je prog en VBA Acces 2003

3 réponses

Utilisateur anonyme
10 févr. 2006 à 16:26
Bonjour,

Désolé de te décevoir, mais ton analyse est à revoir depuis le début...
On ne stocke pas de résultat (moyenne) dans la table, mais te calculeras ce dont tu as besoin dans une requête au moment venu.

Un début :
Il te faut une table Elève (num_eleve, nom, prenom, ...) , une table Matière (num_matiere, intitulle_matiere) et une table note (date, num_eleve, num_matiere, note_obtenue).
En gras les clés primaires.

Là ça devrait mieux aller...
0
blux Messages postés 26026 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 8 mai 2024 3 289
10 févr. 2006 à 16:32
Tu es un peu puriste de définir une table matière ! :-)

Je n'étais pas allé jusque là, eu égard à la simplicité du modèle de donnés, mais partir sur de bonnes bases (de données), c'est toujours intéressant...

Mais c'est vrai que cela peut permettre d'en rajouter une autre (dessin, informatique ;-)) le cas échéant sans tout casser dans la programmation...
0
Utilisateur anonyme > blux Messages postés 26026 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 8 mai 2024
10 févr. 2006 à 16:35
Salut,
Non mais sa me semble logique, enfin si j'ai bien compris la question initiale.
Je pense que l'élève n'aura pas forcément le même jour une note en physique, une en maths une en ......, donc pourquoi stocker des données vides dans un enregistrement ???
Puis comme tu le dis, le jour ou on lui demande de calculer la moyenne en sports, bah il est dans la merde...
0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2 > Utilisateur anonyme
10 févr. 2006 à 16:45
HDU si! c des controle touts les vendredi. il ya 4 matiere tous les venredi et les memes. donc si tu veux c'est dans l'osteopathie.et j'ai utilisé maths par ceque leur matier st bizzare.
les matiere en vrai c'est interrogatoire,traitement osteo,analyse_clinique,traitemen.
le patient est donc le cobail et chaque patient subi forcement l la meme analyse.les 4 notes sur 80 sont donc la note sur le patient et on a a'n' patient dans la mois par etudiant.
donc pour repondre pas de possibilité de chapms vide dans un control
0
Utilisateur anonyme > sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009
10 févr. 2006 à 16:48
Re,

Dacodac'.
Donc, une table (date_eval, num_eleve, note_matiere1, note_matiere2, note_matiere3, note_matiere4) fera l'affaire.

0
blux Messages postés 26026 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 8 mai 2024 3 289
10 févr. 2006 à 16:29
Salut,

je crois que tu es mal parti(e) ? dans ton analyse.

Je te livre deux points qui, je l'espère, pourront t'éclairer.

- il n'y a aucune relation possible entre élève et évaluation : on ne pourra donc pas calculer la moyenne des notes d'un élève en particulier
- on ne stocke jamais de champs calculés dans une table (sauf exceptions réellement nécessaires : rapidité...), mais on crée des requêtes pour obtenir ce résultat (total d'une commande, d'un chiffre d'affaires...)

Ce que je te propose :

Eleve(code_eleve,nom,niveau)
Evaluation(code_evaluation,code_eleve,date_eval,niveau,mathh,physique,bio,
français)

Ensuite, tu pourras créer une relation de 1 à n entre Eleve et Evaluation sur le champ code_eleve.

Les calculs seront ensuite beaucoup plus faciles : moyenne sur une évaluation, sur un mois, sur un trimestre, moyenne de l'élève par matière...

A ta disposition pour plus de renseignements...
0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2
10 févr. 2006 à 16:40
merci blux!
je crois que ça commence à venir! je m'endoutais qu'il faut pas de valeur calculé dans la table!
mais tu le sais mieux que moi! les cons ça ose tout!
je ne comprend pas! les moyenne ne seraont pas stocké ça j'ai compris.mais quand je vais faire l'etat resultat que M.Durand titulaire voudra imprimer la case moyane se calculera aussi instantanement ou bien???
0
blux Messages postés 26026 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 8 mai 2024 3 289 > sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009
10 févr. 2006 à 16:45
La moyenne s'affichera s'il est prévu de la calculer pour l'afficher ;-)

Un état est basé sur une table ou sur une requête. Dans ton cas, il y aura une requête qui calcule la moyenne choisie (semaine, mois...) et l'état en affichera les champs qui la composent...
0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2 > sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009
10 févr. 2006 à 17:04
hihi! je send que ça va marché! je te paye l'apero si tu viens à nantes dac! je vais deja aller regarder la finale de la CAN et apres ce prog aura de mes nouvelle.
merci blux
0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2
10 févr. 2006 à 16:32
merci je commence par ça deja.la date est une clé primaire aussi dans note?
0
Utilisateur anonyme
10 févr. 2006 à 16:40
Mets la date en clé primaire si un élève ne peut avoir qu'une et une seule note dans la même matière à la même date. S'il peut en avoir 2 ou plus, alors tu crées une clé num_auto comme suggéré par Blux.

0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2 > Utilisateur anonyme
10 févr. 2006 à 16:52
si tu veux HDU ,c'est dans le domaine de l'osteopatie les patien tiens lieux de controle. alors les etudiant sont évalué par patient
ça veux dire que pour une date ,le meme étudiant peut avoir plusieur note dans la matiere
exemple. serge 2/20 en diagnostik pour le patiens1,12/20 pour le patient 2 j'ai pris l'exemple des maths juste pour rendre la comprehension facile.
merci
donc pour conclure date demeure clé ou pas?
0
Utilisateur anonyme > sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009
10 févr. 2006 à 17:06
Comme tu t'en doutes, la clé ne va pas aller...

Par contre la structure de la table non plus, on en revient à mon premier post :
Il te faut une table Elève (num_eleve, nom, prenom, ...) , une table Matière (num_matiere, intitulle_matiere) et une table note (num_auto_note, date, num_eleve, num_matiere, note_obtenue).

La par contre, je vais partir et je suis en vacances !!!!!!!!!

Je reviendrai voir ce post la semaine prochaine, d'ici là d'autres personnes t'aideront.

Bon courage.
0