Les requêtes Access servent principalement à sélectionner des données en provenance d'une ou plusieurs tables en fonction de critère de sélection.
Mais les requêtes servent aussi à effectuer des calculs ou à analyser les données à l'aide de statistiques simples.
C'est à cette dernière problématique que répondent les requêtes de regroupement.
Prenons la table client suivante dont voici un extrait.
Un regroupement est un ensemble d'enregistrement ayant des valeurs identiques pour un champ donné.
N'importe quel champ en dehors de la clé, qui par défaut ne peut contenir de doublons, est susceptible de contenir des valeurs identiques et peut de ce fait servir de critère de regroupement.
Dans notre table, le champ type de client peut se regrouper sur 3 valeurs :
- Boutique de sport
- Centre médical
- Salle de sport
Voici l'ensemble des enregistrements du groupe centre médical.
A partir des données regroupées, il sera possible de réaliser des statistiques simples comme le comptage, la somme, la moyenne...
1) Compter le nombre de client par type
Commencer par basculer en mode "Création de requête" puis sélectionner la ou les tables à utiliser.
Dans la grille d'interrogation, ne positionnez que les champs qui servent de critères de regroupement ou de critère de statistiques.
Dans notre exemple, le champ "type de client" sera utilisé pour indiquer à Access qu'il doit trier et grouper ensemble tous les enregistrements possédant la même valeur dans ce champ et le champ "code client" pour lui indiquer de les compter.
Si vous exécutez la requête dés cette étape, le résultat ne sera pas celui souhaité.
Non seulement, Access n'a effectué aucune statistiques mais il n'a même pas classé les enregistrements par type de client.
Il a simplement affiché la liste des enregistrements correspondant à notre sélection en limitant l'affichage aux champs "code client" et "type client".
Comme aucun critère de sélection n'a été indiqué, les 50 enregistrements sont affichés.
Il faut "transformer" la requête de sélection en requête de regroupement.
Revenez en mode création.
Dans l'onglet "Outils de requête / Créer", constatez que le bouton "Sélection" est actif.
Pour travailler les regroupements, il vous faut sélectionner le bouton "Totaux" (en forme de somme automatique).
Une nouvelle ligne, "Opération", va faire son apparition dans la grille d'interrogation.
Elle permet d'indiquer si le champ sert pour le regroupement ou pour les calculs de statistiques.
Laissez le choix regroupement sous "type client". De ce fait, le résultat affichera une seule ligne par valeur "type client".

Pour indiquer à Access qu'il doit compter le nombre de "code client" (donc de client), positionnez la souris à la droite du mot regroupement, une liste déroulante va s'afficher et cliquez sur l'opération "Compte".
Exécutez la requête.
Seules trois lignes s'affichent. Elles correspondent à nos trois type client.
Nos 50 clients se divisent bien en :
21 boutique de sport, 11 centre médicaux et 18 salles de sport
2) Compter le nombre de client par type et calculer le ca par type
Si on repart de la précédente requête, il suffit juste de rajouter le champ "ca2015" dans la grille d'interrogation et de sélectionner l'opération Somme dans la ligne opération.
Le regroupement s'effectue toujours par "Type client". Le résultat contiendra toujours 3 lignes.
Pour faciliter la lisibilité, le champ "type client" a été déplacé devant le champ "code client", le ca 2015 s'affiche au format "euro" et les entêtes de colonne (=légende) ont été renommées en :
- Nombre de client à la place de COMPTE de code client
- CA2015 à la place de SOMME de CA 2015
En mode "Création", dans la grille d'interrogation, un clic droit sur une colonne permet d'afficher la feuille de propriétés du champ à afficher. Le cas échéant, modifier le format et la légende.
Les copies d'écran ont été réalisées à partir d'Access 2016 mais les manipulations à effectuer avec les versions plus anciennes sont quasiment identiques.
Aucun commentaire:
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.