Si-alors, Note-mention en Access

davef -  
blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous

Je réalise un projet en Ms access et je suis face à un problème :
J'ai une table avec les notes des élèves et je voudrais affecter une mention suivant la note.
Plus précisément :
Recalé pour une note <10
Passable pour une note 10<=Note<12
AB pour une note 12<=Note<14
Bien pour une note 14<=Note<16
Passable pour une note >=16
Merci pour votre aide.

2 réponses

  1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    qu'entends-tu par 'affecter une mention' ?
    Où veux-tu faire figurer cette information ?

    NB : même avec plus de 16, on est 'passable' ? :-)
    0
  2. davef
     
    Merci pour ta réponse blux

    En fait, j'ai une table avec (E#, C#, Note, Mention)
    Je voudrais donc entrer les notes suivant le numéro etudiant (E#) et suivant le cours (C#) et je voudrais que la mention se remplisse automatiquement:
    Recalé pour une note <10
    Passable pour une note 10<=Note<12
    AB pour une note 12<=Note<14
    Bien pour une note 14<=Note<16
    Tb pour une Note>=16
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      En principe, quand on bosse en relationnel, on ne stocke pas un champ calculé (pour gagner de la place), mais on le calcule quand on en a besoin.
      Si par exemple, tu veux imprimer un bulletin de notes, tu créeras une requête avec les informations qui t'intéressent et tu y ajouteras un champ calculé, dans le cas qui nous intéresse, un champ avec une cascade de iif, genre comme ça :

      SELECT Table1.El, Table1.Note, IIf(note<10,"recalé",iif(note>=10 and note <12,"passable",iif(note>=12 and note <14,"AB",iif(note >=14 and note < 16,"B","TB")))) AS Mention FROM Table1;
      0
    2. davef
       
      Merci beaucoup pour ta réponse.
      Malheureusement cette requête ne marche pas et je n'arrive pas à savoir pourquoi .

      Voici ma requête :
      SELECT Note.[E#], Note.Note, IIf([Note].Note<10,"recalé",IIf([Note].Note>=10 And [Note].Note<12,"passable",IIf([Note].Note>=12 And [Note].Note<14,"AB",IIf([Note].Note>=14 And [Note].Note<16,"B","TB")))) AS Mention
      FROM [Note];

      Et j'obtiens la table :
      E# Note Mention
      1 9 #Erreur
      2 10 #Erreur
      3 11 #Erreur
      4 14 #Erreur
      5 16 #Erreur

      Si tu peux encore un tout petit peu m'aider, ça serait vraiment cool.
      Je cherche vraiment depuis que tu m'as répondu !
      0
    3. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Je ne vois pas où ça coince, essaie de simplifier la requête pour voir si le iif pose problème :

      SELECT note, iif(note>10,"Ok","KO") from note;
      0
    4. davef
       
      Je ne sais pas non plus ce qui cloche. J'ai fait ce que tu m'as dit mais ça ne marche toujours pas...
      Merci quand même pour ton aide !
      0
    5. davef
       
      C'est bon j'ai réussi, Merci merci merci !!!!!
      0