Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 16/12/2012, 21h22   #1
f-leb
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 3 477
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 42
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 3 477
Points : 8 783
Points : 8 783
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 »

Citation:
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
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 80
Vieux 16/12/2012, 21h41   #2
ClaudeLELOUP
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 8 057
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 67
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2006
Messages : 8 057
Points : 55 797
Points : 55 797
Salut Fabien,

Bravo pour ce très beau tutoriel.
Vivement la suite que tu y annonces !
__________________
Vos yeux piquent à cause des fautes d'orthographe ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 21h59   #3
f-leb
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 3 477
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 42
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 3 477
Points : 8 783
Points : 8 783
Merci Claude

Pour la suite, on va attendre que je reprenne mon souffle après cet accouchement
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 22h46   #4
Richard_35
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 857
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 857
Points : 3 865
Points : 3 865
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 07h37   #5
ClaudeLELOUP
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 8 057
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 67
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2006
Messages : 8 057
Points : 55 797
Points : 55 797
Content de te recroiser Richard !

Bonne journée.
__________________
Vos yeux piquent à cause des fautes d'orthographe ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 11h55   #6
loufab
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 846
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 846
Points : 14 115
Points : 14 115
un smilé suffit...

Si après cela il y a encore des questions basiques c'est que les gens ne lisent pas.
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/12/2012, 08h10   #7
Pierre Fauconnier
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 887
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 46
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2003
Messages : 8 887
Points : 18 962
Points : 18 962
Envoyer un message via Skype™ à Pierre Fauconnier
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)
---------------

Mon nouveau tuto Access est en ligne - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER
(en bas à droite d'un message)
---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2012, 20h33   #8
f-leb
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 3 477
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 42
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 3 477
Points : 8 783
Points : 8 783
Merci à tous pour vos encouragements

Citation:
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 :
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 ?
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2012, 21h18   #9
Pierre Fauconnier
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 887
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 46
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2003
Messages : 8 887
Points : 18 962
Points : 18 962
Envoyer un message via Skype™ à Pierre Fauconnier
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)
---------------

Mon nouveau tuto Access est en ligne - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER
(en bas à droite d'un message)
---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2012, 23h01   #10
f-leb
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 3 477
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 42
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 3 477
Points : 8 783
Points : 8 783
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 :
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
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 07h42   #11
Pierre Fauconnier
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 887
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 46
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2003
Messages : 8 887
Points : 18 962
Points : 18 962
Envoyer un message via Skype™ à Pierre Fauconnier
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)
---------------

Mon nouveau tuto Access est en ligne - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER
(en bas à droite d'un message)
---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 08h20   #12
f-leb
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 3 477
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 42
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 3 477
Points : 8 783
Points : 8 783
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.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 08h56   #13
Pierre Fauconnier
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 887
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 46
Localisation : Belgique

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

Informations forums :
Inscription : novembre 2003
Messages : 8 887
Points : 18 962
Points : 18 962
Envoyer un message via Skype™ à Pierre Fauconnier
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)
---------------

Mon nouveau tuto Access est en ligne - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER
(en bas à droite d'un message)
---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/12/2012, 21h37   #14
User
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 582
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 43
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 582
Points : 5 494
Points : 5 494
Excellent travail, avec de très bons exemples pour illustrer tout ça

Rien à redire
__________________
Petit à petit, l'oiseau fait son nid

Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page personnelle.
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 12h23   #15
f-leb
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 3 477
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 42
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 3 477
Points : 8 783
Points : 8 783
Merci Denis,

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

Bonnes fêtes à toute l’équipe Office
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2013, 18h56   #16
pascal.lecuyer22
Invité de passage
 
Homme Pascal Lecuyer
Directeur commercial
Inscription : mai 2013
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Pascal Lecuyer
Localisation : Suisse

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

Informations forums :
Inscription : mai 2013
Messages : 4
Points : 2
Points : 2
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
pascal.lecuyer22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2013, 20h20   #17
f-leb
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 3 477
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 42
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 3 477
Points : 8 783
Points : 8 783
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.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h36.


 
 
 
 
Partenaires

Hébergement Web