|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Bonjour,
J'ai un petit problème c'est pourquoi je dois faire appel à vos connaissances et à votre approche concernant le sujet. J'ai un projet où je dois faire les moyennes des notes dans un collège. J'ai différentes tables : T_MATIERE (ID_MATIERE, NOM_MATIERE) T_ELEVE (ID_ELEVE, NOM, PRENOM, etc.) T_CLASSE (NUM_CLASSE) T_ETUDIER (ID_ETUDIER, ID_ELEVE, ID_MATIERE, note, coeff, date) Je viens de créer un formulaire F_BULLETIN où sera affiché mes notes et moyennes... J'ai créé une liste deroulante LD_ELEVE (je choisis un élève particulier), mon formulaire affichant le bulletin doit donc s'actualiser pour etre spécifique à l'élève. Le plus dur est que je ne sais pas comment faire pour qu'une note ayant le coeff "2" soit dans telle case. Car je n'ai pas une colonne Note_Controle_Continu (coeff 1) et une colonne Note_DS (coeff 2) Mais bien une seule colonne note, et une autre colonne coeff Je sais pas si vous voyez l'idée et, surtout, une solution... je vous joins ici un screenshot de mon formulaire si ça peut aider à la compréhension... ![]() Uploaded with ImageShack.us Merci d'avance... |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Bonjour,
Tu peux essayer avec une requête "Analyse croisée", en prenant le coefficient comme entête de colonne. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Bien vu l'aveugle !
Je test ça et je te tiens au courant selon les problèmes rencontrés ! |
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Me revoilà, l'affichage de mes notes fonctionne très bien, mais maintenant je n'arrive pas à afficher la moyenne par matière (et générale mais ca se sera pour plus tard)
Pour ma moyenne/matière : J'ai créé dans ma requete une colonne : Code :
MOY_MAT: [T_ETUDIER]![NOTE_ETUDIER]*[T_ETUDIER]![COEF_NOTE] Un truc de ce style? Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Bonjour,
Pour ces calculs, il vaut mieux faire plusieurs requêtes et les rassembler ensuite par jointure : La première en "analyse croisée" avec une colonne par coefficient comme discuté précédemment. La deuxième qui calcule les moyennes par matière : Code :
|
||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Oh, euh je vois pas trop là en fait...
Voilà ce que j'ai fait (mon prof m'a juste dit "fais un formulaire avec TCD" et toi qui m'en a parlé, alors je me suis lancé. (on a jamais vu ça en cours donc j'ai tâtonné) J'ai un formulaire F_BULLETIN2. Dans celui-ci j'ai une liste déroulante de mes élève où je peux en choisir un Et un Sous-formulaire SF_BULLETIN (voir photo ci-dessous) qui s'actualise quand je choisis un élève dans la liste déroulante (ça, ca fonctionne). Voilà mon Sous-formulaire : ![]() Le code que tu m'as dit il irai donc où ? PS: Mon sous formulaire possédant le TCD va chercher la requete R_ETUDIER pour pouvoir ajouter les champs. Ton code irait dans R_ETUDIER? |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Re,
Ce que je te proposais de faire, c'est une requête en analyse croisée, pas un formulaire en tableau croisé... La requête R_ETUDIER serait la troisième dans mon explication, elle ferait la jointure entre R_ETUDIER_1 analyse croisée et R_ETUDIER_2 sélection avec le code que j'ai posté, et le formulaire pourrait à ce moment là être un formulaire simple et pas en tableau croisé dynamique. |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Hum.., j'ai un petit peu de mal à me représenter tout ça, dis moi si l'idée est là :
=> Je fais une requete R_ETUDIER_1 de type TCD Je dois retrouver dans celui-ci une colonne Matière, Coefficient, Note. => Je fais une requete R_ETUDIER_2 Je créé un champ du style : MOY_MAT, clic droit, créé, je tape le code que tu m'as mis => Je fais une requete R_ETUDIER (déjà faite) j'y mets mon id_eleve et mon id_matiere 1°/ est-ce que tout ceci est bon? (notamment au niveau du contenu des requetes, mais aussi pour le code, je sais pas si il doit aller ici) 2°/ pourquoi faire une requete contenant que MOY_MAT, pourquoi pas la mettre dans R_ETUDIER (déjà faite) ? pour mieux séparer et rendre ca plus clair quand je rajouterai aussi ma moyenne générale? 3°/ R_ETUDIER_1, comment je la créé? à partir de R_ETUDIER? ou de T_ETUDIER? en entête de ligne (a gauche, où dans mon formulaire j'avais mis ma matière) je mets quoi? matiere? Et en entete de colonne? je peux mettre qu'un seul truc.. je peux pas mettre coef et note o.O Et enfin "quel nombre souhaitez-vous calculer pour chaque intersection de ligne et colonne" ? C'est quoi ca? Je suis vraiment désolé de poser toutes ces questions mais je travail vraiment en tant que novice sur ce point là et j'arriverais surement mieux à comprendre si tu me guide pas mal, si ça ne te dérange pas? Merci d'avance |
|
|
00
|
|
|
#9 | |||||
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Re,
La requete R_ETUDIER_1 est de type analyse croisée et contient le code suivant. Une fois ce code collé en vue SQL, tu peux visualiser le résultat graphique, c'est plus pratique pour moi de te donner directement le SQL : Code :
Le requête T_ETUDIER est construite en prenant R_ETUDIER_1 et R_ETUDIER_2, le code résultat est le suivant : Code :
Citation:
Est-ce que ça t'aide un peu ? |
|||||
|
|
00
|
|
|
#10 | ||||||
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Citation:
Code :
"vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée "ID_ELEVE" comme une partie de la fonction d'agrégat." Citation:
(on a pas vu le SQL en cours, seuls certains le connaissent par leur années passées et c'est vrais que c'est un peu embêtant, je devrai réussir à le comprendre en cherchant un peu |
||||||
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 480 ![]() |
Re,
Désolée pour la requête, j'ai fait une erreur dans le code SQL, le bon est Code :
|
||
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Okay, ca ca fonctionne !
Je vois qu'il ma crée une colonne pour les CC et une autre pour les DS Je continu voir pour le reste et je te tiens au courant |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Me revoilà,
j'ai donc réglé mon problème d'affichage selon la liste déroulante (avec l'aide d'un membre de developpez.net, j'ai du créer une table T_MOYENNE temporaire qui prend les champs de la requete croisé dynamique et mon sous formulaire affiche cette table en fonction d'une liste déroulante. LE truc étant que pour l'instant, ce que j'obtiens c'est les notes d'une seule matière, et je peux faire défiler les matières une par une (une matière par page), je n'ai donc pas toutes les matières en même temps avec leurs notes respectives (comme sur un vrai bulletin quoi).. Saurais-tu comment faire? |
|
|
00
|
|
|
#14 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 205 ![]() |
Salut,
Comme tedo01 (salut le Gessien), à l'air occupé je me permets de faire une remarque pour commencer. Tout d'abord tu ne peux te lancer dans la réalisation d'une base de données sans avoir étudié les bases. Je te recommanderai donc ce préambule : http://www.developpez.net/forums/a31...res-debutants/ Je te joins ce que j'ai pu tirer de ta base de données projet_access_college2.zip A+ Denis
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
10
|
|
|
#15 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Très bien, je suis en première d'école d'info année et j'ai suivis des cours même si ils ont été assez restreints face à l'amplitude des performances d'ACCESS, je regarderai donc le préambule. J'ajouterai que je ne me serai peut-être pas lancé dans quelque chose d'aussi compliqué (pour un novice) si je savais que ça aurai été aussi complexe... Mais maintenant que j'y suis et que j'ai l'impression d'arriver au bout... J'aurai aimé réussir à le finir
Merci, je vais essayer d'analyser cela... |
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Bonjour ,
Dans le sous-formulaire des notes il faut mettre l'affichage en mode continu et non mode simple (il faut aller dans les propriétés du formulaire et dans la ligne affichage tu verra ça ) A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
10
|
|
|
#17 | |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 205 ![]() |
Citation:
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
|
10
|
|
|
#18 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Bonjour, je suis actuellement, toujours sur le même projet, en train d'essayer de réaliser les moyennes pour par exemple un 2è, 3è trimestres et la moyenne de l'année.
J'ai bien observé les différents codes SQL que vous m'avez montré jusqu'ici, je pense avoir à peu près compris... (à peu près) J'ai cependant un questionnement sur la requête R_ETUDIER_1 (Requete Croisée Dynamique). Je n'arrive pas vraiment à cerner comment vous l'avez créez. Est-ce que vous êtes directement partis dans la rédaction par SQL ou est-ce que vous l'avez fait par méthode plus "graphique" en utilisant les boutons/fonctions d'access? Je souhaite en effet faire la moyenne du second trimestre à l'heure actuelle. J'ai observé les colonnes 1 et 2 dans R_ETUDIER_1, et je ne les vois nulle part dans le SQL, ni en mode création.. Je ne vois pas comment elles apparaissent en mode données. J'ai en effet voulu modifier le SQL de mes differentes requetes pour y ajouter Moyenne2 (et donc ajouter les colonnes 3 et 4 (notes du 2e trimestre)) mais je bute sur R_ETUDIER_1, je ne vois pas comment les ajouter ici.. Bref je n'arrive pas à comprendre le système (alors que ça doit être la même chose que ce que j'ai là, la méthode devant être similaire..) Si vous pouviez m'expliquer par le biais de texte/screenshot/vidéos, je serais preneur... D'avance Merci |
|
|
00
|
|
|
#19 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 205 ![]() |
Bonjour,
Votre demande est légitime, il est vrai que je n'ai pas donné beaucoup d'explication: Tout d'abord, vous devez savoir que pour créer un formulaire basé sur une requête croisée il faut que le nombre de colonnes soit fixe. Quand vous éditez la requête croisée "R_ETUDIER" en mode création vous remarquez qu'il y a un champ "Coef_Note" en en-tête de colonne. Vous cliquez sur ce champ, puis vous faites menu affichage, puis propriétés : Vous devriez avoir une ligne en-tête des colonnes avec : 1;2 requete1.jpg Ce qui limite le nombre de colonne à 2 : à savoir 1 et 2 Si vous voulez mettre 4 colonnes vous mettez : 1;2;3;4 Bonne continuation
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#20 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Génial ça fonctionne (fallait le savoir ! J'aurais pu chercher jusqu'à la saint glinglin
Merci bien, j'vais essayer de m'arranger avec ça, je vous tiens au courant en cas de problème |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com