OVH Cloud OVH Cloud

Moyenne dans Formulaire Access

9 réponses
Avatar
Elbie
Bonjour !
Je cherche à créer un contrôle dans un formulaire affichant la moyenne des
valeurs contenues dans trois champs.
J'ai bien trouvé la fonction moyenne dans le générateur d'expression, mais
comment indiquer les trois champs concernés ? j'ai essayé plusieurs symboles
mais apparemment ça ne marche pas. Si je ne peux faire la moyenne que d'une
valeur, à quoi ça sert ?
Je compte sur vos réponses, car je suis bien bloquée ! Merci d'avance

9 réponses

Avatar
Gafish
Bonjour,

La fonction moyenne que tu as dans le générateur d'expression sert à faire
la moyenne d'un champ dans une requête. Par exemple dans une table tu as un
champ note, tu fais moyenne([note]) et tu obtiens dans ta requête la moyenne
pour toutes les lignes satisfaisant à ta requête.
Si tu veux faire un calcul sur trois champs, le mieux est de faire un calcul
:
(Me.Champ1 + Me.Champ2 + Me.Champ3) / 3
et dans ton formulaire tu mets ce calcul dans l'evenement "lostfocus" (ou
perte focus) de tes trois champs.

Arnaud

Elbie wrote:
Bonjour !
Je cherche à créer un contrôle dans un formulaire affichant la
moyenne des valeurs contenues dans trois champs.
J'ai bien trouvé la fonction moyenne dans le générateur d'expression,
mais comment indiquer les trois champs concernés ? j'ai essayé
plusieurs symboles mais apparemment ça ne marche pas. Si je ne peux
faire la moyenne que d'une valeur, à quoi ça sert ?
Je compte sur vos réponses, car je suis bien bloquée ! Merci d'avance


Avatar
Elbie
Merci, en fait j'y avais pensé, mais mon problème c'est que d'une part j'ai
parfois deux champs, parfois trois, et que les valeurs sont saisies à
différents moments.

Il s'agit de notes de contrôle continu, donc 2 ou 3 contrôles par matière
répartis sur 2 années de formation, et je voulais que la moyenne s'ajuste au
fur et à mesure que les saisies sont faites, ce qui peut être réalisé à
plusieurs mois d'écart...

Pour l'instant, j'ai groupé toutes les notes dans une même table, peut être
devrais-je faire une table par matière pour pouvoir faire des états en
groupant les notes par matière et en utilisant la fonction d'agrégat avg...

Qu'en pensez-vous ?



Bonjour,

La fonction moyenne que tu as dans le générateur d'expression sert à faire
la moyenne d'un champ dans une requête. Par exemple dans une table tu as un
champ note, tu fais moyenne([note]) et tu obtiens dans ta requête la moyenne
pour toutes les lignes satisfaisant à ta requête.
Si tu veux faire un calcul sur trois champs, le mieux est de faire un calcul
:
(Me.Champ1 + Me.Champ2 + Me.Champ3) / 3
et dans ton formulaire tu mets ce calcul dans l'evenement "lostfocus" (ou
perte focus) de tes trois champs.

Arnaud

Elbie wrote:
Bonjour !
Je cherche à créer un contrôle dans un formulaire affichant la
moyenne des valeurs contenues dans trois champs.
J'ai bien trouvé la fonction moyenne dans le générateur d'expression,
mais comment indiquer les trois champs concernés ? j'ai essayé
plusieurs symboles mais apparemment ça ne marche pas. Si je ne peux
faire la moyenne que d'une valeur, à quoi ça sert ?
Je compte sur vos réponses, car je suis bien bloquée ! Merci d'avance







Avatar
Gafish

Pour l'instant, j'ai groupé toutes les notes dans une même table,
peut être devrais-je faire une table par matière pour pouvoir faire
des états en groupant les notes par matière et en utilisant la
fonction d'agrégat avg...

Qu'en pensez-vous ?


Oui, c'est ce que j'allais de proposer, de changer la structure des tables
pour coller au problème.
En revanche, pas forcément besoin de faire une table par matière, il suffit
de mettre un champ matière dans la table de note, et d'utiliser la fonction
moyenne (ou avg) en groupant au préalable par matière



Bonjour,

La fonction moyenne que tu as dans le générateur d'expression sert à
faire la moyenne d'un champ dans une requête. Par exemple dans une
table tu as un champ note, tu fais moyenne([note]) et tu obtiens
dans ta requête la moyenne pour toutes les lignes satisfaisant à ta
requête.
Si tu veux faire un calcul sur trois champs, le mieux est de faire
un calcul

(Me.Champ1 + Me.Champ2 + Me.Champ3) / 3

et dans ton formulaire tu mets ce calcul dans l'evenement
"lostfocus" (ou perte focus) de tes trois champs.

Arnaud

Elbie wrote:
Bonjour !
Je cherche à créer un contrôle dans un formulaire affichant la
moyenne des valeurs contenues dans trois champs.
J'ai bien trouvé la fonction moyenne dans le générateur
d'expression, mais comment indiquer les trois champs concernés ?
j'ai essayé plusieurs symboles mais apparemment ça ne marche pas.
Si je ne peux faire la moyenne que d'une valeur, à quoi ça sert ?
Je compte sur vos réponses, car je suis bien bloquée ! Merci
d'avance






Avatar
Elbie
C'est bon, je vais le faire comme ça.

Merci pour le conseil sur le champ concernant le champ pour la matière, je
n'y avais pas pensé (je suis encore débutante sur Access), mais je me voyais
mal faire 15 tables différentes.



Pour l'instant, j'ai groupé toutes les notes dans une même table,
peut être devrais-je faire une table par matière pour pouvoir faire
des états en groupant les notes par matière et en utilisant la
fonction d'agrégat avg...

Qu'en pensez-vous ?


Oui, c'est ce que j'allais de proposer, de changer la structure des tables
pour coller au problème.
En revanche, pas forcément besoin de faire une table par matière, il suffit
de mettre un champ matière dans la table de note, et d'utiliser la fonction
moyenne (ou avg) en groupant au préalable par matière




Avatar
Gafish
Elbie wrote:
C'est bon, je vais le faire comme ça.

Merci pour le conseil sur le champ concernant le champ pour la
matière, je n'y avais pas pensé (je suis encore débutante sur
Access), mais je me voyais mal faire 15 tables différentes.



Oui, ca te sera plus simple. Tu peux également te faire une table "Matière"
et faire la saisie de la matière dans la note au travers d'une liste
déroulante basée sur cette table matière.
Si tu as besoin d'aide la-dessus, fais signe :)

Avatar
Elbie
Merci Gafish...

La liste déroulante, c'est facile... mais le formulaire pour la saisie des
notes (qui se fait par module) risque de me poser problème : il faut pouvoir
choisir :

1 - le module d'enseignement
2 - le numéro de l'épreuve,
... et que en une fois ça fait...
3 - la liste de tous les élèves s'affiche pour que l'on puisse saisir leur
note.

sachant qu'après, on édite les notes par module, et aussi par élève...

Je crois bien que j'ai pas fini... et que mon bon vieux fichier Excel risque
de m'être encore fort utile cette année...









Oui, ca te sera plus simple. Tu peux également te faire une table "Matière"
et faire la saisie de la matière dans la note au travers d'une liste
déroulante basée sur cette table matière.
Si tu as besoin d'aide la-dessus, fais signe :)






Avatar
Gafish
Il va falloir que tu réflechisses posément à une bonne structure pour ta
base avant de te lancer trop vite je pense.
Une table d'eleves, une de matiere, ....
Qu'appeles tu module d'enseignement ?

Elbie wrote:
Merci Gafish...

La liste déroulante, c'est facile... mais le formulaire pour la
saisie des notes (qui se fait par module) risque de me poser problème
: il faut pouvoir choisir :

1 - le module d'enseignement
2 - le numéro de l'épreuve,
... et que en une fois ça fait...
3 - la liste de tous les élèves s'affiche pour que l'on puisse saisir
leur note.

sachant qu'après, on édite les notes par module, et aussi par élève...

Je crois bien que j'ai pas fini... et que mon bon vieux fichier Excel
risque de m'être encore fort utile cette année...









Oui, ca te sera plus simple. Tu peux également te faire une table
"Matière" et faire la saisie de la matière dans la note au travers
d'une liste déroulante basée sur cette table matière.
Si tu as besoin d'aide la-dessus, fais signe :)




Avatar
Elbie
En fait, ma base Access existe depuis plusieurs années ; pour l'instant, elle
gère les élèves (dans une table) et les maîtres de stage (dans une autre
table).

Je gère les différents stages par une table de jonction (relation n - n)
entre les deux tables principales. Ca marche bien, on peut retrouver
facilement tous les stages effectués par un élève, et tous les stagiaires
accueillis par une structure de stage donnée, c'était l'objectif.

Par ailleurs, j'ai un fichier Excel dans lequel je gère les notes de
contrôle continu. module = code d'une matière (exemple : B1 = Français, B2 =
anglais, etc...)

L'objectif est qu'à terme, le fichier Excel disparaisse au profit d'une
gestion des notes sur Access...

Mais ça risque de prendre pas mal de temps, car c'est plus compliqué que je
ne pensais de transposer un travail d'Excel sur Access... il faut repenser
tout le système.

En tout cas je te remercie de tes conseils et de ta disponibilité.



Il va falloir que tu réflechisses posément à une bonne structure pour ta
base avant de te lancer trop vite je pense.
Une table d'eleves, une de matiere, ....
Qu'appeles tu module d'enseignement ?



Avatar
Gafish
Oui, n'hesites pas à prendre du temps pour bien penser ta base Access, il
vaut mieux "perdre" un peu de temps en analyse que se rendre compte après
d'un facheux oubli :)
En tout cas bon courage, et n'hesites pas à revenir en cas de soucis !

"Elbie" a écrit dans le message de
news:
En fait, ma base Access existe depuis plusieurs années ; pour l'instant,
elle

gère les élèves (dans une table) et les maîtres de stage (dans une autre
table).

Je gère les différents stages par une table de jonction (relation n - n)
entre les deux tables principales. Ca marche bien, on peut retrouver
facilement tous les stages effectués par un élève, et tous les stagiaires
accueillis par une structure de stage donnée, c'était l'objectif.

Par ailleurs, j'ai un fichier Excel dans lequel je gère les notes de
contrôle continu. module = code d'une matière (exemple : B1 = Français, B2
anglais, etc...)

L'objectif est qu'à terme, le fichier Excel disparaisse au profit d'une
gestion des notes sur Access...

Mais ça risque de prendre pas mal de temps, car c'est plus compliqué que
je

ne pensais de transposer un travail d'Excel sur Access... il faut repenser
tout le système.

En tout cas je te remercie de tes conseils et de ta disponibilité.



Il va falloir que tu réflechisses posément à une bonne structure pour ta
base avant de te lancer trop vite je pense.
Une table d'eleves, une de matiere, ....
Qu'appeles tu module d'enseignement ?