|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 4 ![]() |
Bonjour
Est ce quelqu'un peut m'aider d'utiliser Macro ou une procédure sur Accès je suis entrain de développer une application sur accès de gestion des notes des élèves, mais je n'arrive à saisir le champ "Observation" automatiquement selon la palge de la moyenne; par exemple -si la moyenne >= 17 l'observation = Très bien. -si la moyenne >= 15 et < 17 l'observation = Bien. -si la moyenne <= 1 l'observation = Passable. Nom Moyenne Mention x1 18 Très bien x2 10 Passable x3 12 Moyen x4 15 Bien x5 17 Très bien x6 11 Passable |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonsoir Novice01,
Une solution consisterait à créer une table qui contiendrait 20 enregistrements (une fois pour toute) : - note (clé primaire) (valeur de 1 à 20) - observation Cela te permettrait :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 4 ![]() |
Bonjour Richard
on ne peut pas mettre le champs "note" commeclé primaire car on peut trouver 2 élèves ayant même note merci |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour,
Non, tu n'as pas compris : il s'agit de la table des notes possibles (de 1 à 20) avec la mention que tu lui associes (très bien, bien, etc...). Table NOTE : - note (clé primaire) (valeur de 1 à 20) - mention Table TATABLE : - nom - moyenne qui contient : Code :
Cela te permettra :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 4 ![]() |
Salut
je voudrais que le champs "Observation " change de valeur selon un interval du champ "moyenne" (un champs calculable) par exemple, si la moyenne >=17 le champ "Observation" prend la valeur "très bien" si la moyenne <17 et >= 15 le champ "Observation" prend la valeur "bien" si la moyenne <=14 le champ "Observation" prend la valeur "Passable". |
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() Jean-Yves DUMASConsultant informatique Inscription : juin 2010 Messages : 325 ![]() |
Bonjour Novice01,
La proposition de Richard35 est pertinente dans le sens ou si tu souhaites paramétrer de manière simple les mentions associées au notes (bien, très bien, etc.), tu n'aura pas besoin de faire des modifications complexes. Si tu souhaites persister dans une structure mono-table, tu n'auras pas d'autre choix que de coder ta requête avec une combinaison de IIF et de Between dans le cas présent: Code :
select (iif(moyenne > 17,"Très bien.",iif(moyenne Between 15 and 17,"Bien.","Passable."))) from notes |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Novice01 et Dumas.blr,
Il m'a échappé qu'il s'agissait de moyenne, donc des notes avec décimales. Dans ce cas, effectivement, l'utilisation de la table que je t'ai proposée est impossible. La proposition de Dumas.blr est donc la seule, dans le principe :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 4 ![]() |
Bonjour
comment je vais manipuler " case" selon la veleur d'un champ pour metre à jour un autre champ et tout ça sur sql merci pour votre aide |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Novice01,
Je ne connais pas VBA. Si toi non plus, Dumas.blr t'as déjà donné la solution. En création de requête, mode SQL : Code sql :
En création de requête, mode graphique : VraiFaux(moyenne > 17 ; "Très bien." ; VraiFaux(moyenne entre 15 and 17 ; "Bien." ; "Passable.")) A adapter suivant tes tranches. La syntaxe du VraiFaux étant : VraiFaux("condition" ; "valeur" si vrai ; "valeur" si faux), "valeur" pouvant contenir, elle-même, un VraiFaux. Il faut donc faire attention à l'imbrication des parenthèses. Je pense que tu as tout pour faire...
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#10 | ||
|
Membre confirmé
![]() Chef de projet MOA Inscription : septembre 2007 Messages : 191 ![]() |
Bonjour,
effectivement, la solution proposée par Richard au début me semble aussi la plus élégante. Les décimales sont-elles réellement un problème, dans la mesure où elles peuvent toujours être arrondies ? Sinon, en passant par du code, j'écrirais d'une fonction qui renvoie l'observation en fonction de la note : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com