Calculer à l’aide de requêtes dans Access

Comme vous l’avez vu dans l’exercice précédent, vous pouvez non seulement utiliser une requête pour résumer les données à l’aide des fonctions d’agrégation intégrées, mais vous pouvez également effectuer un calcul et créer un nouveau champ dans lequel le stocker. Par exemple, vous souhaiterez peut-être calculer un prix calculé ou combien de temps les employés ont travaillé pour l’entreprise.

L’un des principes de base d’une bonne conception de base de données est que vous ne devez jamais stocker d’informations qui peuvent être calculées à partir de données existantes. Au lieu de créer un nouveau champ dans une table et d’augmenter la taille de la base de données avec des informations redondantes, utilisez une expression dans une requête pour calculer les informations souhaitées à partir des données existantes chaque fois que vous en avez besoin.

CONSEIL Il est possible d’utiliser les résultats d’une requête comme champ dans une autre requête. La requête imbriquée implique l’utilisation d’une instruction Select SQL (Structured Query Language) et s’appelle une sous-requête. Pour plus d’informations sur les sous-requêtes, recherchez Imbriquer une requête dans une autre requête dans l’aide Access.

Dans cet exercice, vous allez créer une requête qui combine les informations de deux tables dans une feuille de données et calcule le prix global d’un article en fonction du prix unitaire, de la quantité commandée et de la remise.

CONFIGURATION

Si nécessaire, ouvrez la base de données. Suivez ensuite les étapes.

1 Ouvrez le Concepteur de requêtes et ajoutez les tables Détails de la commande et Produits à la requête.

2 Faites glisser les cinq champs suivants de leurs listes de champs vers des colonnes consécutives dans la grille de création.

À partir de cette liste de champs

détails de la commande

Des produits

détails de la commande

détails de la commande

détails de la commande

Faites glisser ce champ

Numéro de commande

Nom du produit

Prix unitaire

Quantité

Rabais

 

La feuille de données des résultats affichera les informations extraites dans l’ordre des champs dans le

grille de conception.

  3 Exécutez la requête.

Les résultats montrent que la requête fonctionne correctement.

4 Enregistrez la requête sous le nom Détails de la commande étendus.

5 Basculez en mode Création. Ensuite, dans la colonne ID de commande, affichez la liste Trier et cliquez sur Croissant.

6 Dans la ligne Champ, cliquez avec le bouton droit de la souris dans la première colonne vide, puis cliquez sur Créer pour ouvrir la boîte de dialogue Générateur d’expressions.

Maintenant, dans un nouveau champ de la grille de conception, utilisons le générateur d’expressions pour insérer une expression qui calcule le prix étendu en multipliant le prix unitaire par la quantité vendue, moins toute remise.

Dans la boîte de dialogue Générateur d’expressions, la requête étendue Détails de la commande est sélectionnée dans la zone Éléments d’expression et la zone Catégories d’expression affiche les champs de la requête.

Voici l’expression que vous allez créer dans la zone d’expression:

CCur ([Détails de la commande]! [Prix unitaire] * [Détails de la commande]! [Quantité] *

(1- [Détails de la commande]! [Remise]))

La fonction CCur convertit les résultats des mathématiques entre ses parenthèses au format monétaire.

CONSEIL Si vous souhaitez saisir cette expression directement dans le champ, vous pouvez la simplifier comme suit:

CCur ([Détails de la commande]! [Prix unitaire] * [Quantité] * (1- [Remise]))

Les [Détails de la commande]! part n’est requis que pour le champ UnitPrice, qui apparaît dans les deux tableaux. Il indique à la requête la table à utiliser.

Dans la liste Éléments d’expression, double-cliquez sur Fonctions, puis sur Fonctions intégrées.

8 Dans la liste Catégories d’expression, cliquez sur Conversion. Ensuite, dans la liste Valeurs d’expression, double-cliquez sur CCur.

Générateur d’expressions

Entrez une expression pour définir le champ de requête calculé:

(Exemples d’expressions: [champ 1] + [champ2] et [champ 1] <5)

CCur («expression»)

L ‘expression entre parenthèses représente les expressions qui aboutiront finalement au nombre qu’Access doit convertir au format monétaire.

9 Dans la zone d’expression, cliquez sur <<expression>> pour la sélectionner, de sorte que la prochaine chose que vous saisissez la remplacera. (L’élément d’expression suivant est le champ Prix unitaire de la table Commande Details.)

10 Dans la liste Éléments d’expression, cliquez sur l’icône moins à gauche de Fonctions pour réduire cet élément. Cliquez ensuite sur l’icône plus à gauche de GardenCompany. accdb (ou votre version de ce fichier – la nôtre est MyGardenCompany), double-cliquez sur Tables, puis cliquez sur Détails de la commande.

11 Dans la liste Catégories d’expressions, double-cliquez sur Prix unitaire pour remplacer l’espace réservé <<expression>> par les informations de la table / du champ.

Maintenant, multiplions le montant dans le champ Prix unitaire par le montant dans le champ Quantité.

12 Avec le curseur après [Prix unitaire] dans la zone d’expression, cliquez sur Opérateurs dans la liste Eléments d’expression; cliquez sur Arithmétique dans la liste Catégories d’expression; et double-cliquez sur * (multiplier) dans la liste des valeurs d’expression.

 

13 Dans la zone d’expression, cliquez sur <<Expr>> pour le sélectionner. Dans la liste des éléments d’expression, dans la zone Tables de la liste GardenCompany07.accdb, cliquez sur Détails de la commande. Ensuite, dans la liste Catégories d’expression, double-cliquez sur Quantité.

Jusqu’à présent, nous avons entré une expression qui calcule le coût total en multipliant le prix d’un article par la quantité commandée. Cependant, supposons que le prix de vente soit réduit en raison de la quantité ou d’un autre facteur. La remise, qui est stockée dans la table Détails de la commande, est exprimée en pourcentage à déduire. Mais il est plus facile de calculer le pourcentage à payer que de calculer la remise et de la soustraire du coût total.

CONSEIL Les valeurs du champ Remise sont affichées dans le tableau Détails de la commande sous forme de pourcentages, mais elles sont stockées dans la base de données sous forme de nombres décimaux entre 0 et 1. (Par exemple, une remise affichée sous forme de 10% est stockée sous la forme 0,1). Donc, si la remise est de 10%, le pourcentage à payer est 1-Discount, ou 0,9. En d’autres termes, l’expression sera multipliez le prix unitaire par la quantité, puis multipliez ce résultat par 0,9.

14 Avec le curseur à gauche de la parenthèse fermante dans la zone d’expression, entrez

* (1-. Dans la liste Catégories d’expression, double-cliquez sur Remise. Puis entrez) (parenthèse fermante).

L’expression entière apparaît maintenant dans la zone d’expression.

CONSEIL Si l’expression entière n’est pas visible dans la zone d’expression, vous pouvez élargir la boîte de dialogue Générateur d’expressions en faisant glisser sa bordure gauche ou droite.

15 Dans la boîte de dialogue Générateur d’expressions, cliquez sur OK pour insérer l’expression dans la grille de création.

16 Appuyez sur Entrée pour terminer la saisie de l’expression. Ensuite, élargissez la colonne pour que l’expression entière soit visible.

Access a attribué le libellé Exprl au champ. (Cette étiquette est connue sous le nom d’alias de champ.) Changeons l’étiquette en quelque chose de plus significatif.

17 Dans la grille de création, double-cliquez sur Exprl, puis entrez Prix prolongée.

18 Exécutez la requête.

19 Dans les quelques enregistrements avec remises, vérifiez que la requête calcule correctement le prix calculé.

 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages

Cours Office Access

Nos certifications

Sur Facebook

Nos cours Office

Newsletter

Nous suivre...

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x