Besoin d'aide Access

Discussion dans 'Windows' créé par EmO_TiiOn, 13 Janvier 2016.

  1. Offline
    EmO_TiiOn Chadolf
    Salut, donc je suis sur une série d'exercices sur Access et je bloque complètement sur l'un d'entre eux.

    On me demande de "Lister par sexe le nombre d'étudiants ayant leur anniversaire en mars 1987", et la seule consigne au niveau des critères qu'on me donne c'est " Simple - Synthèse - Having Clause ", et comme je suis totalement noob sur Access.. Bah j'arrive à rien !

    Il faut que le résultat soit genre :

    F : 8
    M : 5

    Le truc c'est que j'arrive à juste regrouper les filles et les garçons, mais pas en regroupant uniquement ceux nés en mars 1987. Du coup ça m'inclut tous les étudiants de la base de donnée

    J'ai essayé de voir en quoi consistait le " Having clause " mais je suis pas sûr de comprendre.. J'ai essayé un peu tout, ' Comme "*/03/1987" ', ou bien avec " #*/03/1987# mais le format est invalide, j'ai essayé ' "Where" ="*/03/1987" ', ou bien " Having = etc.. ", rien à faire..

    Un peu d'aide ? :)
    EmO_TiiOn, 13 Janvier 2016
    #1
  2. Online
    Joon Squadeur.
    Lol, j'ai développé pas mal de petit truc en acces mais je comprend rien a ce que tu écris :D

    Il faut avoir la DB devant les yeux pour ma part pour pouvoir t'être utile.
    Joon, 14 Janvier 2016
    #2
  3. Offline
    EmO_TiiOn Chadolf
    C'est vrai que c'est un peu brouillon :D

    Je mettrai un screen demain !
    EmO_TiiOn, 14 Janvier 2016
    #3
  4. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    "Having Birthdate between 1/3/1986 and 31/3/1986" ?
    Jereck, 14 Janvier 2016
    #4
  5. Online
    Joon Squadeur.
    Basiquement c'est un truc du genre je dirais aussi:
    "Having (nom de ton champ) between (format date voulant dire 1/3/86) and (format date voulant dire 30/3/86) then (ta cause)"
    Joon, 14 Janvier 2016
    #5
  6. Offline
    EmO_TiiOn Chadolf
    Oh d'accord, je voyais pas du tout la commande Having comme ça !

    Je vais essayer ce soir, merci :)
    EmO_TiiOn, 14 Janvier 2016
    #6
  7. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    En gros, "having" et "where", c'est la même chose, mais dans un contexte différent.

    [IMG]
    Jereck, 14 Janvier 2016
    #7
    KikouzZz, EmO_TiiOn et freedumz aiment ça.
  8. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    Même si, on y réfléchissant bien, dans ce cas-ci, mettre ça dans la clause HAVING n'a pas beaucoup d'intérêt (je pense même que le préprocesseur en SQL Server réécrirait ça dans la clause WHERE).

    L'intérêt de HAVING est de pouvoir utiliser des fonctions d'aggrégation (Count, Avg, MAx, ...) dans un filtre.
    Genre, récupérer tous les étudiants dont la cote est supérieure à la moyenne, etc. ...
    Jereck, 14 Janvier 2016
    #8
  9. Offline
    EmO_TiiOn Chadolf
    Bon j'ai plus ou moins saisi la commande, par contre j'arrive toujours à rien, je sais pas si j'ai fais une erreur quelque part.. Quand je repasse en vue feuille de données c'est le néant total..

    Voici ce que j'ai mis ;

    Sans titre.png

    J'ai déjà essayé de tout regrouper en une seule ligne mais ça ne change rien :/
    EmO_TiiOn, 17 Janvier 2016
    #9
  10. Offline
    EmO_TiiOn Chadolf
    Vraiment personne ? J'ai un test là-dessus demain donc je suis cuit si je sais pas comment faire ça .__.
    EmO_TiiOn, 17 Janvier 2016
    #10
  11. Online
    Joon Squadeur.
    Ben non, ça marche pas parce que tu a Access en francais!

    J'imagine que les commande "having" sont traduite. (?)
    Ensuite, on a supposé que ton champ permettant de filtrer s'appellait "Birthday" (et pas "Birthdate") mais il semblerait qu'il s'appel "EDateNais"

    Ta commande ici serait plus (en anglais):
    Having Sum "EDateNais" between 1/3/1986 and 31/3/1986
    Joon, 17 Janvier 2016
    #11
  12. Online
    Joon Squadeur.
    La commande "Having Cause" veut dire "Having" (puis quelque chose que Access peu comprendre, soit parce que tu lui expliques, soit parce que c'es une commande interne)
    Joon, 17 Janvier 2016
    #12