VBA Requette Relation et Fonction

Fermé
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 - 14 févr. 2006 à 13:38
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 - 16 févr. 2006 à 21:24
salut à tous !
j'ai un probleme d'annalyse:
j'ai envie de faire une evaluation j'ai 3 table dont voisi les structure:
T_eleve(code_eleve,nom,niveau)---> code_eleve clé primaire
T_matiere(code_matiere,intitulé,niveau)-->code_matiere clé
Tnote(code,eleve,code_matiere,annee,mois,semaine,note)--->
code_eleve,code_matiere,année,mois,semaine clés primaire.
je doit créer un formulaire evalution sous acces ou le prof evalu les eleves,et pourra calculer les moyenne.mais à la crétion,je voudrait savoir laquel des table doit etre source de formulaire? les table sont liée et beneficie d'un intégrité ref.
sur un bouton resultat on pourra voir les resultats d'une periode donnée.
merci de m'eclaisir!

5 réponses

zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
14 févr. 2006 à 14:24
Salut,


Dans ta structure, je vois un premier problème: la notion de niveau est reprise dans la table élève et dans la table matière...

Logiquement, le niveau semble plus dépendre de l'élève que de la matière en elle-même...

Puisque tu parles de "niveau", tu as probablement des élèves de plusieurs classes. Tes profs vont probablement encoder les résultats classe par classe. Tu devrais ajouter une table classe ou inclure ce renseignement directement dans ta table élèves.

Pour encoder des notes, la table note semble la plus adaptée.
Il serait nécessaire de trier les enregistrements par prof et par classe. Il y a différents moyens d'y arriver mais dis-moi d'abord si tu trouves que je "vais dans le bon sens" pour toi...
0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2
14 févr. 2006 à 14:54
En faite il ya 4 matieres et bien evidement il ya 3 niveau.les eleves sont plusieur s par niveau biensur ils sont évalué par matiere ce qui fait que l'instruction note je me pert dedans serai-ce la note de l'interrogatoire? ou la note general? pr etre plus clair c'est dans l'ostéopathie.quand un patient arrive il ya 4 choses que l'etudiant fait(interrogatoire,traitement,exmaneclinique,raisonnement) c ça les matiere.chacune sur 5 la somme fait une note sur 20 par patien. chaque etudiant peut dc avoir "n" patiens par jour.et on devra l'evaluer mesuellement,et semestriellement apres par un etat. les differente note sur 5 je ne sais pas si ça vaut le coup de les ecrire sur une table ou il faut mettre la note gene sur 20.
sauf que ceci se fait dans un formaulaire et la source nom de l'evele n'est pas dans Tnote si je la prend comme source.
pour ecrire sur les table àa partir du formulaire,donc j'enregistre les evaluation est-ceque je peux faire plusieur recorset à lafois? est-ce que en creant un enregistrement de l'evaluation de l'eleve booba est-ce que les données communes font automatiquement dans les tables liées?
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
14 févr. 2006 à 23:01
Boah, je sais pas si ta structure est très claire...

Il me semble que l'information centrale, c'est l'évaluation de la prise en charge de chaque patient par chaque étudiant.

Ce serait dommage de ne garder qu'une note globale.

Tu pourrais commencer par une table "T_Evaluation" reprenant les notes point par point, le N°de l'étudiant (clé externe) et le N° du patient (clé externe) (Attention à la confidentialité mais il me semble tout de même important de pouvoir retrouver les évaluations se rapportant au même patient, si la situation se rencontre dans ton cas, sinon il vaut mieux omettre cette donnée)
La clé primaire peut être un champ N°Auto. Le jour et l'heure de la prise en charge sont aussi utiles.

Ensuite la table "Etudiants" reprendrait toutes les données se rapportant à ce dernier.

Il vaut mieux créer une table supplémentaire pour le niveau comportant le N°de l'étudiant (clé externe) et la date d'admission. Si tu intègres le niveau dans la table étudiant, il sera impossible de retrouver les anciennes données par niveau.

Je ne sais pas si tu as plusieurs profs ni si ce sont toujours les mêmes profs qui font les évaluations ni comment ils se répartissent le travail (par niveau? par étudiant? par jour?)

pour l'encodage et les formulaires, cela ne pose pas de problème que le nom de l'étudiant ne se retrouve pas dans la table évaluation puisque ces tables sont liées.

Il suffit de fonder le formulaire sur une requête ou d'utiliser un sous formulaire.

Tu devrais avant tout te demander comment les informations devront être encodées (par "classe", par élève, pour tous les élèves d'un même prof, par date...?)
0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2
15 févr. 2006 à 09:44
salut! je te fais voir la structure de mes tables:
T_eleve(code_eleve,nom_eleve,niveau)code_eleve=clé p
T_matiere(code_matiere,intitulé,niveau,commentaire)code_matiere=clé p
T_note(code_eleve,code_matiere,année,mois,semaine,note)
code_eleve,code_matiere,année,mois,semaine=clés p.
les info st codé par eleve leur code c les initiaux de nom .
j crois que le formulaire doit etre basé sur une requete selection mais c pas comment un select * sur les 3 table suffira?ce qui m'embete c que quand on attribu une note dans la matiere traitement sur le formulaire elle va ou? si sur note,comment saurais-je que c la note de de tel matiere? et la 2eme evaluation la note sera ou? sur un autre enregistrement? il n pourras pas etre à la suite! avec les sous formualiar c chaud!
merci de m'aider
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
15 févr. 2006 à 11:42
Salut,

Sans vouloir te vexer, ta structure ne me semble effectivement pas claire.

Pourquoi fais-tu une table notes lors qu'il ne s'agit pas d'une donnée indépendante mais que cinq matières sont évaluées ensemble à chaque évaluation?

Ne serait-il pas plus logique, comme je le proposais dans mon post précédent de créer une table évaluation reprenant:
N°Evaluation (clé primaire, N°Auto),N°Elève (clé externe, numérique), date, interrogatoire,traitement,examenclinique,raisonnement (champs numériques pour encoder les résultats)

Je ne comprends pas pourquoi la notion de "niveau" est reprise sur deux tables.

Il est inutile de créer des champs séparés pour le jour, la semaine ou le mois: access retrouve ces données lui-même, ça simplifie et ça évite les erreurs!.

Pour ce qui concerne les formulaires, access possède des assistants assez efficaces qui permettent de créer des formulaire multi-tables et des sous-formulaires.

Tes questions concernant la destination des données et ton autre post concernant la manière de définir une valeur me laissent penser que tu ne comprends pas bien comment fonctionnent les relations.

Lorsque tu ajoutes un enregistrement dans un sous-formulaire lié, access ajoute automatiquement la clé externe. Si tu ajoutes, le nom de l'étudiant, d'une part cela risque de poser problème des problèmes en cas d'homonymie, d'autre part, tu ne vas pas pouvoir utiliser cette donnée dans ta table puisque du as besoin d'utiliser la clé primaire-externe pour créer une relation 1-n avec la table eleve.
0
sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 2
16 févr. 2006 à 11:27
salut Zenon,
excuse moi de MP.tu es plus clair e. les variation d'explication me pertuibe je pense que la tu as raison meme moi je comprend pas la table note.cependant.il faudra bien un total d'evalutaion je veux dire la somme ses 4 matiere qui doit etre calculé et enregistré dans une table.
est-ceque cette structure te semble crédible?
T_eleve(N°_eleve,nom,niveau) N°eleve=clé
T_eval( N°eval,N°_eleve,interro,examen_clinique,traitement
,raisonement,note) avec note qui est la somme des 4 notes .??
mais le probleme c que note est une valeur calculé! qui devra etre enregitré quelque part pr usage anterieur de calcul de moyenne mensuels.vu qu'il n faut poas de donné calculé dans la table?? comment je fais? siu la structure est bonne deja .et au niveau des relation? je lie que N° eleve?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
16 févr. 2006 à 21:24
Ca me semble OK.
Pour les relations, effecivement, le N°eleve suffit.

Pour le calcul de ta note globale, il suffit dans ton formulaire ou ton (futur) état d'ajouter un champ calculé (non stocké dans la table) en ajoutant un champ texte de type: = interro + examen_clinique + traitement + raisonement ( dans Source contrôle) et à condition de disposer ce champ dans la section détail du formulaire ou de l'état.
Pour pouvoir trier dans tes états les résultats par jour, semaine, mois, trimestre... tu dois ajouter un champ date (de prestation) dans la table Eval.

Sinon, je pense que toutes les données y sont.
0