8 – Création de requêtes

 

8.1 – Requête pour le calcul du montant des commandes.

Rappelez vous que vous avez créé plus haut un formulaire permettant de saisir les commandes des clients. Dans ce formulaire, vous aviez un champ « montant_commande » dont la valeur était calculée automatiquement grâce au générateur d’expression. Hélas, l’information intéressante du montant de la commande apparaît uniquement dans ce formulaire. Il serait intéressant que la même information soit écrite dans une table de manière à la conserver et l’exploiter. Nous allons pouvoir réaliser cela en créant une nouveau chant que nous appellerons montant_commande dans la table t_vente.

·         Cliquez sur dans la rubrique Objets

·         Choisissez « Créer une requête en mode création »

Une fenêtre Requête s’ouvre avec la structure vide de la requête, ainsi qu’une fenêtre permettant de choisir les tables et/ou les requêtes servant à la requête en cours de création.

·         Choisissez les deux tables qui nous intéressent : t_vente et t_produit.

·         Les tables utilisées apparaissent dans la partie supérieure de la fenêtre Requête. Sélectionnez dans chaque table, les champs qui vous intéressent, un à un et faites les glisser dans la partie inférieure de la fenêtre de façon à avoir, de gauche à droite, l’ordre suivant : numéro_vente, nom_produit, prix, quantité.

On a donc 4 colonnes.

·         Dans la 5ème colonne, cliquez dans la case Champ avec le bouton droit, et choisissez « Créer… ». Le générateur d’expression s’ouvre alors.

·         Il faudra avoir le même type d’expression que lorsque nous avions créé le formulaire : c’est à dire le calcul du produit entre le prix et la quantité. Double-cliquez dans la partie gauche de la fenêtre du générateur pour ouvrir le dossier des Tables et double-cliquer ensuite sur la table dans laquelle se trouve le champ « prix ». Puis cliquez sur le symbole * pour le produit (au sens multiplication arithmétique). Enfin allez chercher le champ « quantité » dans la table appropriée. Puis validez l’expression créée en cliquant sur le bouton « OK ».

·         On retourne à la fenêtre Requête. Dans le champ où on l’on vient d’insérer une expression, vous pouvez lire : Expr1: [t_vente]![quantité]*[t_produit]![prix].   Cela signifie que la requête va créer un champ qui s’appellera « Expr1 » avec pour valeur le résultat de l’opération prix*quantité. Remplacez les 5 caractères - EXPR1 – par un nom plus explicite comme montant_commande.   Puis vérifiez que la case de la ligne « Afficher » est cochée.

·         Pour vérifier que la requête est correcte, dans le menu Affichage, choisissez Mode Feuille de données.

·         Fermez la requête et enregistrez la sous le nom r_montant_commande.

 

8.2 – Requêtes pour séparer les ventes selon la TVA et calculer les montants de TVA pour chaque commande.

Rappelons que le taux de TVA que le restaurateur devra appliquer est différent selon que le produit vendu est consommé sur place ou non.

Il faudra d’abord créer une requête comportant uniquement les ventes de produits consommés sur place, puis en faire de même pour les produits vendus « à emporter ».

·         Cliquez sur Requête dans la rubrique Objets

·         Choisissez « Créer une requête à l’aide de l’assistant »

·         Dans la 1ère fenêtre de l’assistant, choisissez la ou les tables (et requêtes) à utiliser. Dans le cas présent , on prendra des champs de la table t_vente (numéro_vente, num_semaine, jour_semaine, nom_produit, quantité, conso_sur_place) et de la requête créée précédemment : r_montant_commande (prix, montant_commande).

·         Dans la 2nde fenêtre, choisissez « détaillée » de manière à afficher tous les champs.

·         Dans la 3ème fenêtre, modifiez le nom de la requête proposé automatiquement et le remplacer par r_TVA20. Cochez la case « Modifier la strucutre de la requête », puis cliquez sur « Terminer ».

·         Localisez le champ « conso_sur_place » dans les colonnes.

·         Dans la ligne « Critères », écrivez en toutes lettres : OUI (puisque nous sommes dans la requête concernant la TVA à environ 20% donc la vente à consommer sur place.)

·         Pour le même champ, décochez la case de la ligne « Afficher », puisqu’il n’est pas nécessaire de faire apparaître la valeur du champ dans la requête créée (tous les enregistrements auront la même valeur : OUI)

·         Choisissez le classement par ordre croissant d’abord par numéro de semaine, puis pas jour de semaine, puis par produit. Utilisez la ligne « Tri » et veiller à l’ordre (de gauche à droite) des champs de manière à ce que le classement soit correct.

·         Créez un nouveau champ (9ème colonne) qu’on appellera « montant_HT ». Les valeurs des enregistrements de ce champ seront le résultat du calcul suivant : montant_commande / 1.196 . Pour créer cette expression, utilisez le générateur d’expression ou l’écrire manuellement en reprenant exemple sur la requête précédente.

·         Créez un dernier champ appelé « Taxe » qui pourra être calculé de deux façons.

·         Passez en mode d’affichage  ‘Feuille de données’ pour visualiser la requête.

·         Fermez la requête créée en sauvegardant les changements effectués.

 

La requête présentant l’ensemble des ventes à consommer sur place est créée. Il faut maintenant créer l’autre requête : ensemble des ventes à emporter.

On peut créer une nouvelle requête de la même manière que ce qui vient d’être fait. Mais, les deux requêtes étant quasiment identiques, on gagnera du temps à copier la première et à aller modifier son contenu.

 

·         Dans la fenêtre de la base de données, choisissez Requête.

·         Sélectionnez la requête r_TVA20.

·         Cliquez le bouton droit de la souris et choisissez la fonction « copier » du menu contextuel qui apparaît.

·         Puis dans le cadre (ailleurs que sur un des objets), cliquez sur le bouton droit et choisissez « Coller ».

(Vous pouvez aussi utiliser les rubriques du menu Edition ou les touches de raccourcis : Ctrl + C et Ctrl +V.)

·         Le programme demande un nom pour la nouvelle requête : vous choisirez par analogie à la requête précédente : r_TVA5.

·         Sélectionnez cette nouvelle requête et cliquez sur le bouton ‘Modifier’ pour l’ouvrir en mode Création de façon à pouvoir y modifier certains éléments.

·         Modifiez les éléments dans les champs « MontantHT », « Taxe », et « conso_sur_place » de manière à obtenir les enregistrements correspondant aux ventes à emporter et à calculer les valeurs avec une TVA à 5.5%.

·         Passez en mode d’affichage Feuille de données pour vérification.

·         Fermez la fenêtre et enregistrer les changements.

Retour Page d'accueil : ISA3 - OAD - SGBDR, Access