Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Conditions et synthèse
Avec les
requêtes Access, il est simple de tirer des synthèses conditionnelles sur des données regroupées. Cette nouvelle
astuce ouvre la voie.
Dans l'exemple illustré par la capture, des primes sont allouées et calculées lorsque le commercial a passé la barre des 10 000 Euros sur une période donnée. Mais ces ventes sont archivées au coup par coup dans une table différente de celles des commerciaux. Il est donc question tout d'abord de réunir les informations puis de les consolider et d'émettre des conditions.
Source et procédure
Pour la démonstration de cette
astuce, nous suggérons de récupérer cette petite source d'informations.
Deux tables sont présentes dans le
volet de navigation sur la gauche de l'écran. Elles se nomment respectivement Commerciaux et Ventes.
- Double cliquer sur la table Commerciaux,
Nous l'affichons ainsi en mode
Feuille de données. Cette table est basique. Elle recense les vendeurs sur un niveau de détail très sobre. Vous notez que l'identifiant du premier champ est une combinaison de caractères et de numéros incrémentés. Nous l'avions conçu à l'occasion d'une précédente
astuce. C'est un format personnalisé qui sert de leurre à l'affichage. Seul le numéro automatique est effectivement considéré.
- Dans le volet de navigation, double cliquer sur la table Ventes,
Comme vous pouvez le voir, toutes les ventes réalisées au coup par coup sont listées. Elles sont toutes rattachées à un commercial par le numéro de l'identifiant issu de la table parente. Et donc de multiples chiffres sont associés à un même vendeur.
Regrouper les données
Avant de pouvoir décider d'une prime à allouer, faut-il encore être en mesure de connaître le volume réalisé par chaque vendeur. Mais les
requêtes Access sont puissantes et simples de mise en oeuvre. En outre, elles permettent de créer des recoupements sur les données communes tout en consolidant les informations numériques attachées. Et dans le processus, c'est la première
astuce que nous proposons de démontrer.
- Fermer les deux tables ouvertes en cliquant sur les croix des onglets,
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Requêtes du ruban, cliquer sur le bouton Création de requête,
- Dans la boîte de dialogue qui suit, sélectionner les deux tables avec la touche CTRL,
- Cliquer alors sur le bouton Ajouter puis sur le bouton Fermer de la boîte de dialogue,
Nous intégrons ainsi les deux tables en représentation schématisée dans l'
éditeur de requêtes.
- Dans la première table, sélectionner tous les champs, sauf c_num,
- Puis, les glisser sur la grille de requête,
- Dans la seconde table, sélectionner le champ v_montant,
- Puis, le glisser à la suite sur la grille de requête,
De cette manière, nous comptons réunir dans une même vue les informations de la seconde table attachées à celles de la première table.
- Enregistrer la requête (CTRL + S) sous le nom r_primes,
- Tout à fait à gauche du ruban contextuel Créer, cliquer sur le bouton Exécuter,
Nous affichons ainsi le résultat de l'
extraction de la requête en mode Feuille de données. Les informations sont effectivement réunies puisque la
requête agit sur les deux
tables liées. Mais à ce stade, nous ne bénéficions que d'une simple énumération des ventes réalisées au coup par coup. C'est la raison pour laquelle un même vendeur est répété à X reprises. Pour émettre une condition consistant à calculer une prime en fonction des résultats, nous devons consolider les ventes de chacun.
- Tout à fait à gauche du ruban Accueil, cliquer sur le bouton Affichage,
Ainsi, nous revenons dans la vue en conception de la
requête.
- Cliquer avec le bouton droit de la souris n'importe où dans la grille de requête,
- Dans le menu contextuel, choisir Totaux,
Nous ajoutons ainsi à la grille de requête les lignes permettant de réaliser des opérations de synthèse. Par défaut, l'opération de chaque champ est définie sur
Regroupement. Les données qui peuvent être réunies, c'est-à -dire les informations identiques, doivent l'être bien entendu. Pour les montants des ventes en revanche, nous devons les additionner pour chaque regroupement opéré.
- Déployer la liste déroulante de la ligne d'opération du champ v_montant,
- Dans les propositions d'opérations, choisir la Somme,
C'est ainsi que nous allons pouvoir consolider toutes les ventes effectuées par un même vendeur.
- Enregistrer les modifications de la requête (CTRL + S),
- Puis, cliquer sur le bouton Exécuter dans le ruban Créer,
Cette fois, nous obtenons bien la synthèse escomptée.
Toutes les ventes sont consolidées pour chaque commercial. Nous allons donc désormais pouvoir travailler sur ces totaux afin de décider ou non de l'allocation d'une prime.
Champ calculé conditionnel
C'est un
champ calculé qui permet de réaliser de nouvelles opérations en fonction des données émanant de la requête. Une
condition est à poser. Arbitrairement, nous décidons qu'une prime de 5% est allouée à chaque commercial ayant réalisé un chiffre dépassant les 10 000 Euros. Et comme vous le savez dans
Access, la
fonction conditionnelle se nomme
VraiFaux. Sa construction est tout à fait identique à celle de la
fonction Si avec Excel :
=VraiFaux(Critère; Action_Alors; Action_Sinon).
- Dans le ruban Accueil, cliquer sur le bouton Affichage pour revenir en conception,
- Dans la zone Champ de la première colonne vide qui suit, taper l'expression suivante :
v_prime:VraiFaux(Somme([v_montant])>10000; Somme([v_montant])*0,05; 0)
Ainsi,nous créons un nouveau champ que nous nommons
v_prime. Dans la syntaxe
Access, il doit être suivi du symbole deux points (:) pour annoncer l'opération à suivre. Dans la zone de critère de la
fonction VraiFaux, nous posons la condition sur la somme du
champ v_montant. Un champ doit nécessairement être désigné entre crochets. Cette somme doit dépasser les 10 000 Euros. Si le critère est satisfait, nous multiplions cette somme par 0,05 pour appliquer les 5% de prime. Dans le cas contraire, nous n'attribuons aucune prime (0).
- Déployer la liste déroulante de la zone Opération,
- En bas des propositions, choisir Expression,
C'est ainsi que notre expression est considérée comme telle. Elle se gère elle-même par ses calculs.
- Dans la zone Format de la feuille de propriétés, taper le code suivant : ###0,00' €',
Il est tout à fait possible en effet d'attribuer des formats à la volée dans une
requête Access, y compris sur des
champs calculés.
- Enregistrer les modifications et cliquer sur le bouton Exécuter dans le ruban Créer,
Nous obtenons bien la synthèse attendue grâce à une
requête Access intégrant un champ calculé conditionnel et exploitant les lignes d'opération. Ces
informations conditionnelles, nous pourrons facilement les exploiter depuis un
formulaire, dès lors que nous l'aurons construit sur la base de cette
requête de synthèse.