Si-alors, Note-mention en Access

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. Modérateur
    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
    1. 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. Modérateur
        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. 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. Modérateur
        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. 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. C'est bon j'ai réussi, Merci merci merci !!!!!
        0