Exercice Access corrigé les requêtes relation entre les tables et jointure

1- Créez une requête qui affiche le nom, le prénom et l’année d’embauche des employés dont le choix de l’année est laissé à l’utilisateur de la requête.

Contrairement aux autres requêtes où les critères de sélection étaient déterminés dans le mode de création, cette requête donne un choix à l’utilisateur en lui posant une question. Cette requête va aussi vous demander d’utiliser un champ calculé avec la fonction Année() sur le champ de type Date/Heure Embauche.

-Créez une nouvelle requête en mode création.
-De la liste des tables et des requêtes, sélectionnez la table Employés.
-Sélectionnez le type de requête Sélection en appuyant sur le bouton .
OU
-Du menu Requête, sélectionnez l’option Requête sélection.

-De la liste des champs, sélectionnez les champs Prénom et Nom.
-À la droite des champs précédents sur la ligne des champs, entrez le champ calculé suivant: Année d’embauche: Année([embauche]) .
-Sur la ligne des critères sous le champ calculé Année d’embauche, entrez le texte suivant : [Quelle est l’année d’embauche? (4 chiffres) Ex: 1998] .

Voici les champs et les options pour les critères.

Champ Prénom Nom Année d‘embauche: Année([embauche])
Table Employés Employés
Tri
Afficher X X X
Critères [Quelle est l‘année d‘embauche ? (4 chiffres) Ex: 2003]

-Exécutez la requête en appuyant sur le bouton !.

-Pour les besoins de l’exercice, entrez l’année 1993 dans la case de la valeur du paramètre.
-Appuyez ensuite sur le bouton OK.

Access va ensuite afficher le résultat suivant.

Paul TERGEIST 2003
Pierre HAFEUX 2003
Elie COPTAIRE 2003
Vincent TIME 2003

Au lieu de poser une question, la requête peut chercher l’information qui vient d’un champ situé dans un formulaire. Le critère ressemblerait à ceci: [Formulaires]![Nom du formulaire]![Nom du champ] . C’est de cette manière qu’on commence à créer une présentation plus « formelle » pour les données. Vous pouvez utiliser le générateur d’expression en appuyant sur le bouton  pour aller chercher les contrôles que vous avez besoin dans la base de données.

2- Affichez le numéro de facture, nom et adresse du client ainsi que le prénom et nom du vendeur. 

-Créez une nouvelle requête en mode création.
-De la liste des tables disponibles, sélectionnez les tables ClientsFactures et Employés.

Il faut maintenant ajouter les champs à la requête.

-De la table Factures, sélectionnez le champ Numéro de facture.
-De la table Clients, sélectionnez les champs Nom et Adresse.
-De la table Employés, sélectionnez les champs Prénom et Nom.

Il serait possible à partir de ce point d’exécuter la requête. Cependant, vous n’auriez pas le résultat voulu puisqu’il n’y a pas de relations entre les tables. Access afficherait toutes les combinaisons possibles. La prochaine étape consiste à créer les relations entre les tables de cette requête. Auparavant, il faut premièrement voir quels sont les champs en commun entre ces tables. Entre les tables Clients et Factures les champs en commun sont No Client et Code Client respectivement. Entres les tables Factures et Employés, les champs en commun sont No Vendeur et Numéro de poste. Tous ces champs sont de mêmes types et de mêmes longueurs. Mais surtout, ils contiennent le même genre d’information; le numéro de référence sur le client ou sur l’employé.

-Placez le pointeur sur le champ No client de la table Clients.
-En gardant un doigt sur le bouton gauche de la souris, déplacez le pointeur sur le champ Code client de la table Factures.
-Relâchez ensuite le bouton de la souris.

Une ligne va apparaître entre ces deux champs. Ceci indique qu’il y a une relation entre les deux tables. Ces deux tables sont maintenant reliées sur un champ en commun. Ceci rend possible d’accéder aux informations de l’autre table. Par exemple, en connaissant le numéro de référence de la facture, il est possible de connaître le nom, l’adresse ainsi que toutes les autres informations sur le client.

Voici ce qu’il faut faire pour retirer la relation. Au cas, ou vous auriez fait la relation sur des champs différents que ceux mentionnés.

-Cliquez sur la ligne qui relie les deux tables.
-Du menu Édition, sélectionnez l’option Supprimer.
OU
-Appuyez sur la touche supprime du clavier.

Il reste à relier les tables Factures et Employés sur leurs champs en commun: No vendeur et Numéro du poste.

-Placez le pointeur sur le champ No vendeur de la table Factures.
-En gardant un doigt sur le bouton gauche de la souris, déplacez le pointeur sur le champ Numéro de poste de la table Employés.
-Relâchez ensuite le bouton de la souris.

Le résultat final devrait ressembler à ceci. Si vous n’avez pas ce résultat, refaites les relations entre les tables.

 

acce3

Au moment de l’affichage du résultat, Access fait la différence entre le champ Nom de la table Clients et de la table Employés en affichant le nom de la table devant le nom du champ (Clients.Nom et Employés.Nom).

3- Affichez le nom de l’employé ainsi que le nombre de produits qu’il a vendu. 

Cette requête nécessite aussi le contenu de plusieurs tables pour la réaliser. Mais elle démontre aussi les liens « indirects » entre les tables de la base de données. Bien qu’il n’y a pas de liens « directs » entre les tables Employés et Inventaire, il est possible de les « relier » en utilisant les tables Facture et Transition Fact-Inv. De cette façon, il est possible d’avoir dans la même requête les champs Nom et Prénom de la table Employé et Description de la table Inventaire.

Cet exercice introduit également l‘utilisation de l‘opération Compte utilisée pour connaître le nombre d‘items vendus et par qui.

Voici la liste des tables et des relations dont vous avez besoin.

acce4

Prénom Nom Description SommeDeQuantité
Bruno ZIEUVAIR Carte mère 4
Bruno ZIEUVAIR RAM 3
Elie COPTAIRE RAM 10
Marc ASSIN RAM 20
Mélanie ZETAUFREY Carte mère 5
Mélanie ZETAUFREY RAM 12
Mélanie ZETAUFREY Ventilateur 15
Paul TERGEIST Carte mère 5

4- Affichez le total des ventes par clients

Cet exercice utilise aussi plusieurs tables reliées pour avoir le résultat voulu. Il utilise aussi l’opération Somme et un champ calculé pour déterminer le total des ventes par items. C’est surtout une requête qu’un gestionnaire serait intéressé de voir. Il pourrait connaître qui sont ses meilleurs clients. Voici les tables reliées et leur relations.

 acce5

Résultat :

Nom Total
AGERE Tex 4 950,00 €
BRICO. 2 400,00 €
COCHET & cie. 4 800,00 €
DEBORD 6 155,00 €
MAGNE & Cie 8 975,00 €

5- Utilisez une requête pour entrer les données de factures.

Il est aussi possible d’utiliser une requête pour entrer des données. La requête doit avoir, au minimum, l’un des champs en commun des tables reliées. De plus, le champ en commun doit être celui qui permet d’entrer plusieurs fois la même information. Par exemple, entre les champs No Facture et Numéro de facture qui relient les tables Facture et Transition Fact-Inv, il faut utiliser le second. Donc, pour cet exercice, il faut au minimum les champs Numéro de factureCode ClientNo vendeur et Numéro de produit. On pourrait ensuite choisir d’autres champs. Pour démontrer l’efficacité de cette requête, seulement les champs suivants seront ajoutés:Nom (de la table Clients), adresse et quantité. De plus, un champ calculé sera ajouté à la fin de chaque enregistrement pour déterminer le total de l’item. La formule sera la suivante: Total: quantité * [prix unitaire] .

Champ Numéro de Facture No Client Nom Adresse No Vendeur Numéro de produit Quantité Total: quantité * [Prix unitaire]
Table Transition Fact-Inv Clients Clients Clients Facture Transition Fact-Inv Transition Fact-Inv
Tri
Afficher X X X X X X X
Critères

-Entrez les données suivantes dans les champs appropriés.

Cette partie de l’exercice consiste à entrer trois enregistrements dans la base de données. Il suffit d’entrer les informations suivantes dans les champs Numéro de facture, Code Client, No Vendeur, Numéro de produit et Quantité.

Le premier enregistrement créer une nouvelle facture avec les informations sur le client. Le second enregistrement ajoute un item à la facture précédente. Il faut entrer le même numéro de facture que l’enregistrement précédent. Access va retrouver la facture et afficher les informations sur le client et le vendeur automatiquement. Il faudra ensuite entrer un autre produit et sa quantité. Access va refuser de continuer si vous essayer d’entrer une seconde fois le même numéro de produit. Cela provoquerait un dédoublement d’informations pour la clé primaire ce qui est interdit.

Le troisième enregistrement consiste à entrer de l’information pour une autre facture afin de démontrer que vous pouvez toujours entrer d’autres enregistrements. Il faut laisser le champ Numéro de facture vide lorsque vous commencer une nouvelle facture. Puisqu’il s’agit d’un champ de type NuméroAuto, Access va automatiquement insérer un chiffre. Pour entrer un autre item sur une facture qui existe déjà, vous devez écrire le numéro de facture existant dans le champ Numéro de facture. De cette façon, vous pouvez entrer plusieurs items sur une même facture.

Numéro de Facture No Client No Vendeur Numéro de produit Quantité
Aucune 1 2 1 10
Même qu‘Access a déterminéà l‘enregistrement ci-dessus Même Même 2 20
Aucune 2 3 1 10

Il est inutile d’entrer un numéro pour commencer une nouvelle facture. Les tables Facture et Transition Fact-Inv sont reliées avec l’option d’intégrité référentiel. Mais surtout, l’option Mise à jour en cascade a été activé. Cela veut dire que, lorsque vous ne mettez pas de chiffres, Access va voir s’il y a une valeur équivalente dans la table Facture. Puisque No Facture est la clé primaire de la table, est qu’il est impossible d’avoir un champ vide, cela force Access a créer un nouvel enregistrement dans la table Facture et de lui donner un numéro. Ce numéro est ensuite retransféré au champ Numéro de facture.

Le second enregistrement est pour vous démontrer qu’il est possible d’entrer plusieurs items sur une même facture. Il suffit d’écrire le même numéro de facture dans le champ No Facture. Cependant, grâce à la clé primaire composée de plusieurs champs de la table Fact-Inv, l’utilisateur de la base de données ne pourra pas entrer plusieurs fois le même item sur la même facture.

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *