+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable Corrections

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    7 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 7 872
    Points : 28 915
    Points
    28 915
    Billets dans le blog
    9

    Par défaut [TUTO] Les requêtes avec regroupement

    Bonjour à tous,

    je vous propose un premier article Access.

    Les requêtes avec regroupement
    Opérations « Compte » et « Somme »

    Cet article se propose de faire découvrir les requêtes avec regroupement sous Access pour effectuer des opérations élémentaires et fréquentes de comptage et d'addition. L'approche se veut didactique et progressive. On commence par découvrir le principe en utilisant exclusivement l'interface graphique avant d'aborder des cas plus complexes et le langage de requête SQL sous-jacent.
    L’article s’adresse plutôt aux débutants mais les habitués y trouveront peut-être quelques astuces.

    Vous pouvez évidemment poster vos commentaires dans ce fil.

    Bonne lecture

    Fabien
    Forums d'entraide Raspberry Pi et Arduino

    Arduino :
    - Aperçu de la plateforme Arduino : Parties 1 et 2
    - Arduino et le bus I2C
    - Top 10 des shields Arduino [Nouveau]

    Mon KAARduino scanner kit

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    16 350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 16 350
    Points : 120 859
    Points
    120 859

    Par défaut

    Salut Fabien,

    Bravo pour ce très beau tutoriel.
    Vivement la suite que tu y annonces !
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques.

  3. #3
    Responsable Corrections

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    7 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 7 872
    Points : 28 915
    Points
    28 915
    Billets dans le blog
    9

    Par défaut

    Merci Claude

    Pour la suite, on va attendre que je reprenne mon souffle après cet accouchement
    Forums d'entraide Raspberry Pi et Arduino

    Arduino :
    - Aperçu de la plateforme Arduino : Parties 1 et 2
    - Arduino et le bus I2C
    - Top 10 des shields Arduino [Nouveau]

    Mon KAARduino scanner kit

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    juillet 2007
    Messages
    3 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 116
    Points : 4 587
    Points
    4 587

    Par défaut

    Bonsoir Fabien,

    Et chapeau (ou bonnet, comme tu veux, mais ça sonne moins bien)!... ...

    Au passage, un petit salut amical à Claude.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    16 350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 16 350
    Points : 120 859
    Points
    120 859

    Par défaut

    Content de te recroiser Richard !

    Bonne journée.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 201
    Points : 20 802
    Points
    20 802

    Par défaut

    un smilé suffit...

    Si après cela il y a encore des questions basiques c'est que les gens ne lisent pas.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    9 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 9 807
    Points : 23 235
    Points
    23 235
    Billets dans le blog
    2

    Par défaut

    Chouette boulot Fabien, content de te compter parmi les rédacteurs.

    Ce tutoriel explique pas à pas comment regrouper les données et les exemples sont clairs.

    Nul doute que cela ouvrira des horizons nouveaux.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    L'inconvénient des mauvaises habitudes de codage, c'est qu'il faut s'en défaire...

    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    N'oubliez pas de VOTER (en bas à droite d'un message)
    ---------------

  8. #8
    Responsable Corrections

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    7 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 7 872
    Points : 28 915
    Points
    28 915
    Billets dans le blog
    9

    Par défaut

    Merci à tous pour vos encouragements

    IX. « Best of » de requêtes avec regroupement

    Ici je propose un recueil de requêtes avec Somme et Compte et qui reviennent régulièrement dans nos forums. À l'heure où j'écris ces lignes, certaines de ces requêtes avec regroupement et qui mériteraient d'apparaître dans ce « Best of » ont pu m'échapper. N'hésitez pas à me contacter par MP si le cas se présente.
    Vous pouvez aussi bien proposer vos idées ici-même dans ce fil après tout.

    En voici une qui m'est revenue à l'esprit d'après la discussion de florianne.

    Citation Envoyé par florianne
    Le résultat de la requête serait de déterminer par exemple la liste des élèves qui aurait les compétence 5 ET 7.
    La solution que j'avais proposée à l'époque pour faire ce ET:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT NomEleve, PrenomEleve
    FROM TblEleve
    WHERE Competence IN (5,7)
    GROUP BY NomEleve, PrenomEleve
    HAVING Count(*)=2

    mmmhhh, est-ce seulement la meilleure solution ?
    Forums d'entraide Raspberry Pi et Arduino

    Arduino :
    - Aperçu de la plateforme Arduino : Parties 1 et 2
    - Arduino et le bus I2C
    - Top 10 des shields Arduino [Nouveau]

    Mon KAARduino scanner kit

  9. #9
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    9 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 9 807
    Points : 23 235
    Points
    23 235
    Billets dans le blog
    2

    Par défaut

    Salut Fabien

    Deux remarques sur ta requête:

    1. Tu renverras les élèves qui ont exclusivement les compétences 5 ET 7, à l'exclusion dautres compétences. Si tu veux récupérer ceux qui ont au moins les compétences 5 et 7 (ce qu'à mon sens on comprend de prime abord de la question de Floriane), il faudra utiliser having count(*)>=2.

    2. C'est un peu hors sujet, mais ce n'est pas une bonne pratique, a priori, de devoir répéter plusieurs fois les mêmes infos dans une table (ici, nom et prénom pour une même personne autant de fois qu'elle a de compétences). Il serait plus logique de proposer cela au sein d'une requête qui utiliserait une clé externe vers la table des élèves, par exemple select Eleve_FK from qryEleveCompetence where ... (tant qu'à inculquer les bonnes pratiques...)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    L'inconvénient des mauvaises habitudes de codage, c'est qu'il faut s'en défaire...

    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    N'oubliez pas de VOTER (en bas à droite d'un message)
    ---------------

  10. #10
    Responsable Corrections

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    7 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 7 872
    Points : 28 915
    Points
    28 915
    Billets dans le blog
    9

    Par défaut

    Hello Pierre,

    avec la clause WHERE Competence IN (5,7), la requête commence par filtrer les enregistrements en excluant les éventuelles autres compétences.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    idEleve    idCompetence
    1            4
    1            5
    1            7
    1            8
    1            12
    2            5
    2            8
    Le regroupement sur idEleve et le critère HAVING Count(*)=2 (sous entendu qu'un élève ne peut avoir une compétence particulière qu'une seule fois) vont permettre de retenir cet élève n°1 qui a donc au moins les compétences 5 ET 7 (en plus des compétences 4 et 8), me semble-t-il.

    Par extension, une autre requête intéressante serait d'obtenir les élèves qui ont TOUTES les compétences de la table des compétences. Une autre paire de manches et une autre histoire...

    Concernant le point 2, entièrement d'accord avec toi. J'avais d'ailleurs précisé :
    Citation Envoyé par f-leb Voir le message
    ...mais j'espère que la vraie table comporte les champs (identifiantEleve, identifiantCompetence)
    Si je mets le tuto à jour, il faudra de toute façon que j'adapte le principe sur la table des commandes de la base "Les comptoirs" comme pour toutes les requêtes de l'article
    Forums d'entraide Raspberry Pi et Arduino

    Arduino :
    - Aperçu de la plateforme Arduino : Parties 1 et 2
    - Arduino et le bus I2C
    - Top 10 des shields Arduino [Nouveau]

    Mon KAARduino scanner kit

  11. #11
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    9 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 9 807
    Points : 23 235
    Points
    23 235
    Billets dans le blog
    2

    Par défaut

    Hello Fabien,

    Ce n'est pas la clause WHERE qui pose problème, mais la clause HAVING

    Soit la table suivante:


    La requête suivante

    renvoie uniquement Manon


    Alors que la requête suivante

    renvoie Manon et Pierre
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    L'inconvénient des mauvaises habitudes de codage, c'est qu'il faut s'en défaire...

    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    N'oubliez pas de VOTER (en bas à droite d'un message)
    ---------------

  12. #12
    Responsable Corrections

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    7 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 7 872
    Points : 28 915
    Points
    28 915
    Billets dans le blog
    9

    Par défaut

    Bonjour Pierre,

    ok je vois, c'est juste que nous nous sommes pas entendu sur ceci:
    Citation Envoyé par f-leb
    (sous entendu qu'un élève ne peut avoir une compétence particulière qu'une seule fois)
    Dans ton exemple, l'élève Pierre Fauconnier a deux fois la même compétence 5 (ID=4 et ID=7). J'avais supposé que ce cas n'était pas possible (en mettant la clé primaire sur le couple (élève, compétence) ).

    sur ce je dois aller bosser un peu, bonne journée.
    Forums d'entraide Raspberry Pi et Arduino

    Arduino :
    - Aperçu de la plateforme Arduino : Parties 1 et 2
    - Arduino et le bus I2C
    - Top 10 des shields Arduino [Nouveau]

    Mon KAARduino scanner kit

  13. #13
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    9 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 9 807
    Points : 23 235
    Points
    23 235
    Billets dans le blog
    2

    Par défaut

    Tu as parfaitement raison... Au temps pour moi.

    On pourrait donc continuer l'expérience:
    Qui a exclusivement ces deux compétences?
    Qui a toutes les compétences (pour reprendre ton idée)?

    Allez, à nos claviers
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    L'inconvénient des mauvaises habitudes de codage, c'est qu'il faut s'en défaire...

    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    N'oubliez pas de VOTER (en bas à droite d'un message)
    ---------------

  14. #14
    Rédacteur/Modérateur
    Avatar de User
    Homme Profil pro
    Développeur informatique en auto-entrepreneur
    Inscrit en
    août 2004
    Messages
    4 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique en auto-entrepreneur

    Informations forums :
    Inscription : août 2004
    Messages : 4 773
    Points : 8 966
    Points
    8 966
    Billets dans le blog
    6

    Par défaut

    Excellent travail, avec de très bons exemples pour illustrer tout ça

    Rien à redire
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information en abondance et sur le forum une aide précieuse vous sera également fournie gracieusement.

    Si vous souhaitez mettre en place une gestion de planning, une gestion de stock, ventes, achats ou tout autre application Office je peux vous proposer mes services.
    Pour cela n'hésitez pas à me contacter par courriel ou mp.

    Mes tutoriels et contributions sur ma page personnelle.

  15. #15
    Responsable Corrections

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    7 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 7 872
    Points : 28 915
    Points
    28 915
    Billets dans le blog
    9

    Par défaut

    Merci Denis,

    L'appétit vient en chantant...
    …et en développant aussi, ou encore en écrivant des articles

    Bonnes fêtes à toute l’équipe Office
    Forums d'entraide Raspberry Pi et Arduino

    Arduino :
    - Aperçu de la plateforme Arduino : Parties 1 et 2
    - Arduino et le bus I2C
    - Top 10 des shields Arduino [Nouveau]

    Mon KAARduino scanner kit

  16. #16
    Candidat au Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : mai 2013
    Messages : 4
    Points : 4
    Points
    4

    Par défaut Merci

    Encore un grand merci pour le temps passé sur ce tuto.

    Si jamais vous êtes de passage à Genève, informez moi quelques jours à l'avance. je vous dois un geuleton

  17. #17
    Responsable Corrections

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    7 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 7 872
    Points : 28 915
    Points
    28 915
    Billets dans le blog
    9

    Par défaut

    Merci Pascal,

    Si l'article a pu te sauver la vie d'une façon ou d'une autre, j'en suis fort content

    Je n'ai pas prévu de passer en Suisse dans l'immédiat mais je mets un signet tout de suite vers ton message, au cas où

    Bonne continuation dans tes développements et pour le reste.
    Forums d'entraide Raspberry Pi et Arduino

    Arduino :
    - Aperçu de la plateforme Arduino : Parties 1 et 2
    - Arduino et le bus I2C
    - Top 10 des shields Arduino [Nouveau]

    Mon KAARduino scanner kit

Discussions similaires

  1. Requête avec regroupement "particulier"
    Par access_balou dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/10/2008, 14h37
  2. [heritage] quelle syntaxe pour les requêtes avec Mysql
    Par tavarlindar dans le forum Requêtes
    Réponses: 7
    Dernier message: 07/05/2008, 23h47
  3. Réponses: 2
    Dernier message: 31/05/2007, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo