{Access} Faire une requête par tranche d'âge

Nadaza -  
nirG95 Messages postés 319 Statut Membre -
Bonjour,
Je suis bénévole dans une association qui inscrit ses adhérents dans une base de donnée ACCESS (version inconnue donc je suppose 97... et oui !)
J'aimerais trier dans une requête les adhérents par tranche d'âge, avec un liste déroulante qui propose les adhérents de 20 à 24 ans, de 25 ans à 34 ans, etc...

J'ai déjà la solution de demander à l'utilisateur de rentrer les dates "Entre" lesquelles il veut la tranche d'âge. Mais j'aimerais que ça se fasse directement en proposant une liste déroulante "liste des adhérents de 20 à 24 ans", "liste des adhérents de 25 à 34 ans",... Que le calcule s'opère d'après la date du jour de la requête...
Et là, mon niveau de compétence est largements dépassé !!!
Pouvez-vous m'aider ???
Merci de préciser votre réponse avec requête, macros, formules... je m'y perds un peu dans tout ça. Faut-il utiliser "PARTDATE", "DIFFDATE", comment, ou ????

Je vous remercie d'avance... et bonnes fêtes à tous.
Nad
Configuration: Windows XP Internet Explorer 6.0

1 réponse

  1. nirG95 Messages postés 319 Statut Membre 32
     
    Bonjour,

    je vais te donner un exemple, peut être que ça résolura ton problème.

    J'ai une table (Table1) avec :
    id => autonum
    nom => texte
    age => date/heure (Format date abrégé)

    Je fais une requete (Req1) :
    SELECT Table1.nom, DateDiff("yyyy",Table1.age,Date()) AS lol
    FROM Table1;

    Dans mon formulaire je vais cherché ma Req1 et il me reste plus qu'a faire les criteres de recherches

    exemple :

    De 24 ans à 34 ans
    SELECT Req1.nom, Req1.lol FROM Req1 WHERE (((Req1.lol) Between 24 And 34));

    De 25 à 45 ans
    SELECT Req1.nom, Req1.lol FROM Req1 WHERE (((Req1.lol) Between 35 And 45));

    Etc ...

    Après a toi de mettre ca sur un formulaire avec un sous formulaire ou avec directement une listbox.

    Cordialement.
    -1
    1. NADAZA
       
      Bonjour,

      Merci de ta réponse mais elle est un peu trop rapide pour moi.
      Quand tu écris :
      Je fais une requete (Req1) :
      SELECT Table1.nom, DateDiff("yyyy",Table1.age,Date()) AS lol
      FROM Table1;

      Je ne sais pas où inscrire cette phrase.
      J'ai créé une requête qui sélectionne tous les adhérents.
      J'ai créé une listebox dans le formulaire des listes d'adhérents avec l'ensemble des listes possibles (- de 20 ans, 20 à 24,...)... mais il me manque l'essentiel et je me perds dans tes explications.

      Merci encore des précisions que tu pourras m'apporter... et passe de bonnes fêtes de fin d'année !
      0
      1. nirG95 Messages postés 319 Statut Membre 32 > NADAZA
         
        SELECT Table1.nom, DateDiff("yyyy",Table1.age,Date()) AS lol
        FROM Table1;


        - Tu créé une requete en mode création.
        - Tu fermes la fenêtre qui te propose d'afficher des tables.
        - Tu fais un clique droit sur la fenêtre (ou normalement y a les tables) et tu te mets en mode SQL

        La j'ai fini le taff, mais je t'expliquerai comment faire pour ta listbox :)

        Bonne soirée et bonne fêtes a toi aussi :)
        0