|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Bonjour à tous,
je suis en train de réaliser mon premier projet à l'heure actuelle qui concerne la gestion d'une base de donnée des notes dans un collège (fictif) J'ai différentes tables : T_MATIERE T_ELEVE T_CLASSE T_ETUDIER => ID_ETUDIER, ID_ELEVE, ID_MATIERE, note, coeff, date J'ai crée dans un formulaire F_ETUDIER deux listes déroulantes à partir de : RL_ELEVE => ID_ELEVE, NOM_EL, PRENOM_EL RL_MATIERE => ID_MATIERE, NOM_MAT et dans ce formulaire j'ai rajouté un sous formulaire SF_ETUDIER dans lequel j'ai mes notes mes coef et mes dates de controles sous forme de tableau Le seul hic, est que je voudrai que mon sous formulaire s'actualise en fonction des deux listes déroulantes précédentes. En gros : Je selectionne mon eleve Je selectionne la matiere J'ai les notes qui s'affichent avec leur coef, et leur date. J'ai cherché des formules pour actualiser ce sous formulaire du genre : mode création sur la liste des eleves, "sur changement" "..." code : Code :
Auriez-vous des idées? D'avance merci ! |
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Inscription : juillet 2010 Messages : 117 ![]() |
Bonjour à toi,
Si je comprends bien, la source de ton sous-formulaire est ta table T_ETUDIER. Or, à sauf erreur de ma part, la méthode Requery sert à actualiser les données d'un objet dont la source est une requête après une mise à jour de cette dernière. Je te propose d'utiliser plutot la propriété Filter de l'objet Form. En code, cela se traduira comme ça : Code :
Pour éviter les erreurs, pense à ne déclencher ce code qu'après avoir vérifier que tes 2 listes sont renseignées. Cordialement,
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche. |
||
|
|
00
|
|
|
#3 | ||
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Bonjour ,
Je crois que c'est plutôt ça : Code :
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Tout d'abord merci à vous de prendre du temps pour vous occuper de mon cas.
Alors, j'ai testé la technique de dok flint Tout d'abord en mettant le code sur la liste deroulante élève, "sur changement" Et ca ne fonctionne pas (pas d'erreurs mais rien d'actualisé) Pour ce qui est de ta technique, Manhexter, il me met une erreur de compilation en surlignant en jaune .RL_ELEVE "Membre de méthode ou de donnée introuvable" alors qu'elle s'appelle bien comme cela. Cependant je me pose une question. Je vais sur mes listes (c'est pareil pour les 2) et lorsque je vais sur la propriété "source contrôle" il n'y a rien dedans... Et sur je clic sur la flèche déroulante pour choisir quelque chose, il n'y a aucun choix :/ Est-ce que cela vient de là? Comment faire ? |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Bonjour ,
Si on revient à ta première version où l'affichage s'effectue mais sans mise à jour : Le sous formulaire ,qu'elle est sa source? Est ce qu'il affiche le premier enregistrement de la table ? ou autre chose? A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
00
|
|
|
#6 | ||
|
Membre habitué
![]() Inscription : juillet 2010 Messages : 117 ![]() |
Essaie comme ça :
Code :
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche. |
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
ManHexter Ton code je suppose que je le mets bien au niveau des listes déroulantes au niveau de "sur changement" ?
Si c'est le cas, j'ai essayé et j'obtiens une erreur, 2465, au niveau de la ligne : Code :
Forms![F_ETUDIER].SF_ETUDIER.Form.Filter = "[ID_ELEVE] = '" & Forms![F_ETUDIER].RL_ELEVE & "' and [ID_MATIERE] = '" & Forms![F_ETUDIER].RL_MATIERE & "'" Je vais dans F_ETUDIER (formulaire) en mode création, si je clic sur l'encadré su sous formulaire, sa source est SF_ETUDIER (sous formulaire) Si je vais dans SF_ETUDIER directement, en mode création, sa source est : RSF_ETUDIER Dans RSF_ETUDIER j'ai les champs de ma table T_ETUDIER et dans celle-ci j'ai l'ID_ELEVE, ID_MATIERE, NOTE_ETUDIER, COEF_NOTE, DATE_NOTE J'ai donc dans SF_ETUDIER toutes mes notes de tous mes élèves dans toutes mes matières (2400 enregistrements) |
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Bonjour ,
Est ce que tu peux joindre la base (avec quelques données seulement) A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
"joindre la base" ?
Je vois pas trop ce que tu veux dire? |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
C'est mettre la base en pièce jointe dans ton message.
A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Oh d'accord je pensais que c'était de joindre une table avec une relation ou un truc du genre^^
Le voilà (j'ai supprimé pas mal d'enregistrements pour essayer de baisser le poids mais ca n'a rien changé.. donc j'ai zippé !) |
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Merci de mettre la base en version 2003 .
A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Désolé j'avais oublié
|
|
|
00
|
|
|
#14 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Voyons ci c'est ça marche comme ça.
A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Génial ça fonctionne
Alors, je vois que tu as modifié ma requete RSF_ETUDIER en ajoutant ID_ELEVE et ID_MATIERE [Formulaires]![F_ETUDIER]![Modifiable20] [Formulaires]![F_ETUDIER]![Modifiable14] Ca sert à quoi ça? Est-ce juste cela qu'il fallait mettre en plus? (je voudrais bien savoir ce que tu m'as modifié en fait pour pouvoir le refaire par moi-même plus tard Merci beaucoup en tout cas ! |
|
|
00
|
|
|
#16 | ||
|
Membre habitué
![]() Inscription : juillet 2010 Messages : 117 ![]() |
Dok flint a été plus rapide que moi à ce que je vois.
De mon côté cela fonctionne aussi. En restant sur le même principe de solution que j'avais proposé, voici le code : Code :
Bonne continuation et pense au petit clique sur résolu en bas ^^.
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche. |
||
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Très bien, j'attends une ou deux explications de dok flint histoire de pas avoir à reposer le même post dans 3jours^^ et je mets en résolu
Le truc est que dans RSF_ETUDIER il y a 2 critères d'ajoutés en plus : [Formulaires]![F_ETUDIER]![Modifiable20] [Formulaires]![F_ETUDIER]![Modifiable17] Et dans F_ETUDIER, dans les propriétés des listes j'ai : SELECT [RL_ELEVE].[ID_ELEVE], [RL_ELEVE].[NOM_ELEVE], [RL_ELEVE].[PRENOM_ELEVE] FROM RL_ELEVE; (pareil pour la matière) Origine source : Table/Requête Donc je sais pas si c'est en tapant la formule dans RSF_ETUDIER que les propriétés se sont mises, si elles se sont mises après avoir fait autre chose, ou si tu les as tapées toi même... Pourrais-tu me donner quelques infos pour que je sache me débrouiller tout seul par la suite? D'avance merci ! |
|
|
00
|
|
|
#18 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Bonjour ,
La chose est simple ,il faut penser que la source de données d'un formulaire ou sous formulaire que ça soit une table ou requête c'est la même chose , donc il faut ouvrir la source de données dans les propriétés(par les ...) du form (qu'il s'agit d'un formulaire ou sous-formulaire) tu verra que c'est une requête que tu a devant toi ,puis de là il n'y a qu'a mettre dans la ligne critère les champs de choix dans le formulaire principal (qui sont modifiable 20 et 14 pour toi) , bien sur il faut ajouter les champs correspondants aux critères de sélections s'ils n'existent pas . Pour ajouter les champs dans cette ligne de critère le plus simple c'est de placer le curseur dans la case ,un clic avec le bouton droit et un petit menu contextuel apparait ,tu choisi créer et tu choisi tes champs. Tout ça c'est pour Access 2003 mais je ne crois pas que ça change énormément d'une version à l'autre car le principe reste le même. J'espère être clair donc c'est à toi d'essayer ![]() N'oublies pas le et pourquoi pas un petit vote A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
10
|
|
|
#19 |
|
Invité régulier
![]() Étudiant Inscription : décembre 2010 Messages : 45 ![]() |
Très bien, je pense avoir cerné le sujet...
Le seul problème est que si je veux ajouter des notes, elles ne sont pas stockées dans ma table T_ETUDIER, donc cela permet juste (même si c'est déjà bien) l'affichage :/ |
|
|
00
|
|
|
#20 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Bonjour ,
Il faut déterminer ce que tu veux faire dés le début ,déjà au niveau de la saisie des données sur quelle table et par quel moyen il y a l'entrée des données. A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com