Les exercices SQL :
1- Affichez le prénom et le nom des personnes ayant pour prénom " roger ".
* Recherche simple.
2- Affichez le prénom, nom de toutes les personnes dont le nom de famille commence par la lettre " L ".
* Comme *.
3- Affichez le prénom, nom et salaire des personnes ayant un salaire supérieur à 45 000 $.
*, =, <,=, <, = et type numérique.
4- Affichez le prénom et le nom des personnes embauchées en 1993.
* Entre et type Date.
5- Affichez le prénom et le nom des employés ayant la permanence selon l'ordre alphabétique de nom de famille et de
prénom.
* type logique et tri des enregistrements.
6- Affichez le prénom et le nom des employés n’ayant pas la permanence.
* type logique et l'opérateur Pas.
7- En utilisant seulement le champ commentaire, affichez le prénom et nom des gérants de l’entreprise.
* Critère "Est Null"
8- Affichez la commission du vendeur Gendron de Montréal.
* Utilisation de la fonction Et.
9- Affichez le prénom, nom et occupation des vendeurs de Montréal et de Québec.
* Utilisation de la fonction Ou.
10- Affichez le prénom, le nom et le revenu des employés ayant un revenu supérieur ou égal à 45 000 $.
* type monétaire et champ calculé.
11- Affichez la commission de chacun des vendeurs si on leur donne une augmentation de 20%.
* Champ calculé avec une constante. (20%)
12- Affichez le prénom et le nom des personnes embauché en 1993 sans utiliser le critère ENTRE ou <=.
* Fonction année([Nom du champ de type Date/Heure]). Montrer le générateur d'expression.
13- Affichez combien d'années de service a chaque employé de l'entreprise.
* Fonction année() et date().
14- Affichez à côté du prénom et du nom des employés de l'entreprise le texte "champion" pour ceux qui ont une
commission de 45 000 $ ou plus. Placez le texte "Désolé" à côte de ceux qui ne répondent pas au critère précédent.
* Fonction Vraifaux(condition;si vrai;si faux) dont le résultat est du texte.
15- Affichez la commission des vendeurs si on donnait une prime de 5 000 $ à ceux ayant une commission de 45 000
$ ou plus.
* Fonction VraiFaux(condition; si vrai; si faux) dont le résultat est un chiffre.
16- Affichez la somme de la masse salariale de la compagnie.
* Utilisation de l'opération somme.
17- Affichez la somme de la masse salariale de la compagnie divisée par occupation.
* Utilisation de l'opération somme sur plusieurs critères.
18- Affichez la somme de la masse salariale de la compagnie divisée par lieu de travail et par poste.
* Utilisation de l'opération somme sur plusieurs critères.
19- Affichez la masse salariale des employés embauchés en 1993 repartit par lieu de travail.
* Utilisation de l'opération Où.
20- Affichez le nombre de personnes pour l'entreprise par lieu de travail et par occupation.
* Utilisation de l'opération Compte.
20a- Le piège de l'opération Compte.
21- Déterminez le nombre de vendeurs "champions" ayant récolté une commission de 45 000 $ ou plus.
* Utilisation des opérations Compte et Où.
22- Utilisez une requête d'analyse croisée pour déterminer la masse salariale de l'entreprise par occupation en
colonne et par lieu de travail en ligne.
* Requête d'analyse croisée et l'opération Somme.
23- Utilisez une requête d'analyse croisée pour déterminer le nombre d'employés par statut social et lieu de travail
ayant la permanence.
* Requête d'analyse croisée et l'opération Compte avec un critère.
24- Changer le lieu de travail des employés de Québec à Sillery.
* Requête Mise à jour.
25- Supprimer tous les employés dont le nom de famille est Gendron.
* Requête suppression
26- Créez une requête qui affiche le prénom, le nom et la date d'embauche des employés dont le choix de l'année est
laissé à l'utilisateur de la requête.
* Requête avec entrée de valeur (requête paramétrée).
Les prochaines requêtes requièrent des champs qui se retrouvent dans plusieurs tables. Vous devrez utiliser la base
de données demoacc2.mdb (pour Access 97) ou demoa2k2.mdb (pour Access 2000). Vous trouverez ces fichiers
sur la page des fichiers des démonstrations.
27- Affichez le numéro de facture, nom et adresse du client ainsi que le prénom et nom du vendeur.
* Requête basée sur plusieurs tables.
28- Affichez le nom de l'employé ainsi que le nombre des différents produits, avec description du produit, qu'il (ou
elle) a vendu.
* Requête basée sur plusieurs tables reliées avec l'opération compte.
29- Affichez le total des ventes par clients.
* Requête basée sur plusieurs tables reliées avec l'opération somme et un champ calculé.
30- Utilisez une requête pour entrer les données de factures.
* Requête basée sur plusieurs tables pour entrer des enregistrements.
Réponses des requêtes
1- Affichez le prénom et le nom des personnes ayant pour prénom " roger ".
Cette requête est pour commencer lentement avec une requête simple en utilisant du texte. Il s'agit de l'exemple
développé de la page précédente.
1. Choisir la ou les tables et les requêtes nécessaires.
Créer une nouvelle requête en utilisant le mode création.
De la liste des tables et requêtes, sélectionnez la table Employés.
2. Choisir le type de requête.
Assurez-vous d'avoir la requête de type sélection .
3. Choisir le ou les champs nécessaires.
De la liste des champs, ajoutez le champ de type "nom" et le champ "prénom" à la liste des champs.
4. Déterminer si les champs ont besoin d’être triés.
Pour cet exercice, aucun tri de champ n'est nécessaire.
5. Cacher les champs au besoin.
Pour cet exercice, aucun champ n'a besoin d'être caché.
6. Déterminer les critères de sélection.
Écrivez roger dans la première ligne de critère sous le champ prénom.
Voici ce que devrait ressembler la partie des critères par après.
Critères
Champ : Prénom Nom
Tri :
Afficher : X X
Critère : " roger "
Ou :
Vous n'êtes pas obligé de mettre les guillemets. Access va les mettre pour indiquer que le champ est de type "texte".
De plus, vous n'êtes pas obligé de mettre l'opérateur " = ". Il est mis par défaut si aucun autre opérateur n'est choisi.
En plus, vous n'êtes pas obligé de mettre le texte en majuscules ou en minuscules. Access ne fait pas la différence
lors de la recherche. Il faut cependant écrire le critère correctement. Par exemple, vous ne trouverez personne si vous
avez écrit "rooooger" !
Pour les champs de type Date/Heure, Access placera automatiquement devant et après la date le caractère " # ".
Donc, vous n'êtes pas obligé de le mettre. Tout cela est pour être capable de différencier les types de champs; "" pour
texte, # pour Date/Heure et rien pour les chiffres (monétaire ou numérique).
7. Exécuter la requête.
Appuyez sur le bouton .
Voici le résultat.
Résultat
Prénom Nom
Roger Lepage
Roger Dubuc
Pour les prochains exercices, seulement la section des critères et le résultat seront affichés. Lisez attentivement la
question avant de regarder la suite. Essayez d'imaginer la requête avant de regarder la suite. Il y aura des
explications supplémentaires sur les nouvelles options que chaque exercice apportera.
2- Affichez le prénom, nom de toutes les personnes dont le nom de famille commence par la lettre " L ".
Cette requête sert à voir les caractères spéciaux tel que " * " et "? ". Le caractère "?" est utile pour remplacer un
caractère dans la requête. Par exemple, une recherche sur b?lle pourrait donner les résultats suivants: balle, belle,
bille, bulle. En plus d'être utile pour les champs de type texte, il peut aussi être utilise avec les champs de type
Date/Heure. Par exemple, #98-??-01# pourrait afficher tous les enregistrements du premier jour de chaque mois.
Le caractère "*" sert à remplacer une série indéterminée de caractères. On connaît le début mais pas la fin. Par
exemple, une recherche en utilisant bal* pourrait donner le résultat suivant: balade, balai, balance, balcon, baleine,
balise, balle, ballerine, ballet ...
Pour le critère du champ "nom", écrivez seulement l*.
Access se chargera d'écrire Comme pour indiquer que les enregistrements recherchés commencent par la lettre "l".
Critères
Champ : Prénom Nom
Tri :
Afficher : X X
Critère : Comme l*
Ou :
Appuyez sur le bouton .
Résultat
Prénom Nom
Roger Lepage
Denis Lambert
Élise Lavigueur
3- Affichez le prénom, nom et salaire des personnes ayant un salaire supérieur à 45 000 $.
Cette requête démontre les possibilités d’utiliser les opérateurs <, >, <=, et >= pour les champs de type numérique
ou monétaire. Pour cet exercice, le critère de recherche utilise un champ de type monétaire. Les autres types de
champs peuvent aussi être utilisés avec ces opérateurs.
Critères
Champ : Prénom Nom Salaire
Tri :
Afficher : X X X
Critère : >45000
Ou :
Résultat
Prénom Nom Salaire
Roger Lepage 50000
Faîtes attention en lisant la question. Est-ce qu’on vous demande supérieur à X ou égale et supérieur à X? C’est un
petit piège que plusieurs ne font pas attention.
4- Affichez le prénom et le nom des personnes embauchées en 1993.
Cette requête pourrait utiliser les opérateurs >= , et, <=. Mais l'exercice va démontrer l'opérateur " Entre " et le type
de champ Date/Heure. Remarquez les " # " devant et après la date. Si vous ne les mettez pas, Access va les écrire
pour vous. C'est pour identifier que le champ Embauche est de type Date/Heure.
Critères
Champ : Prénom Nom Embauche
Tri :
Afficher : X X X
Critère : Entre #93-01-01# et #93-12-31#
Ou :
Résultat
Prénom Nom Embauche
Suzanne Rémi 93-01-01
Éric Gendron 93-06-06
Roger Dubuc 93-06-06
Élise Lavigueur 93-06-01
Paul Gendron 93-01-01
Dépendant des options sélectionnées dans Windows et Access, il se peut que le format de la date soit différent. Vous
devrez probablement mettre le mois devant et jour et l’année. Faîtes quelques essais en changeant l’ordre de l’année,
du mois et de la journée.
5- Affichez le prénom et le nom des employés ayant la permanence selon l'ordre alphabétique de nom de
famille et de prénom.
Cette requête regarde les possibilités avec le champ de type logique Oui/Non et aussi de trier le résultat de la requête.
De plus, on utilise le champ Permanence pour filtrer les enregistrements. Mais celui-ci n'est pas affiché lors de la
présentation de l'information. Assurez-vous que la case Afficher soit désactivée pour ce champ.
Critère
Champ : Nom Prénom Nom Permanence
Tri : Croissant Croissant
Afficher : X X
Critère : Oui
Ou :
Rappelez-vous! La priorité des tris va au champ trié le plus à la gauche; même si celui-ci n'est pas affiché!
Résultat
Prénom Nom
Roger Dubuc
Denis Lambert
Élise Lavigueur
Roger Lepage
Suzanne Rémi
6- Affichez le prénom et le nom des employés n’ayant pas la permanence.
Il serait facile de simplement mettre le critère non sous le champ permanence. Mais cet exemple est surtout pour
démontrer l'opérateur Pas. Celui-ci affiche toutes les informations sauf ceux que vous avez sélectionnés. Dans ce cas,
il affichera tous ceux qui sont différents de oui. Donc, la seule possibilité est non.
Critère
Champ : Prénom Nom Permanence
Tri :
Afficher : X X
Critère : Pas oui
Ou :
Résultat
Prénom Nom
Éric Gendron
Paul Gendron
Un autre exemple serait d'afficher tous les employés sauf ceux de Québec.
Note:
Il y a une caractéristique des champs de type Oui/Non que vous devriez savoir. Bien qu'il soit affiché Oui/Non,
Vrai/Faux à l'écran, l'information est conservée dans la table sous forme numérique. Access inscrit 0 (zéro) lorsque
faux et -1 lorsque vrai. Avec un peu d'imagination, vous pouvez vraiment prendre avantage de cette situation.
7- En utilisant seulement le champ Commentaires, affichez le prénom et nom des gérants de l’entreprise.
Si on regarde le contenu du champ "commentaire", on s'aperçoit que toutes les personnes ont un commentaire, sauf
les gérants. Alors, il faut indiquer à Access de rechercher les enregistrements dont le champ commentaire est vide.
Pour ce faire, il faut utiliser le critère "Null".
Critère
Champ : Prénom Nom Commentaires
Tri :
Afficher : X X X
Critère : Est Null
Ou :
Résultat
Prénom Nom Commentaires
Roger Lepage
Roger Dubuc
8- Affichez la commission du vendeur Gendron de Montréal.
Cette requête démontre la possibilité de cacher des champs ainsi que la possibilité d'utiliser plusieurs critères en
même temps. Vous pouvez combiner plusieurs critères en même temps si ceux-ci sont sur la même ligne de critère. Si
les critères sont sur des lignes différentes, c'est l'équivalent d'afficher le résultat de deux recherches différentes.
Critère
Champ : Poste Nom Bureau Commission
Tri :
Afficher : X
Critère : "Vendeur" " Gendron " " Montréal "
Ou :
Résultat
Commission
23 000 $
9- Affichez le prénom, nom et occupation des vendeurs de Montréal et de Québec.
Attention! Il y a un piège dans la question.
Il s'agit d'une question de logique. Posez-vous la question: pouvez-vous être à Montréal ET à Québec en même temps?
Non. Mais vous pouvez être à l'un OU l'autre. Il s'agit juste d'interpréter correctement la question qui vous est
présentée. Ce n'est pas toujours aussi simple que ça.
Critère
Champ : Prénom Nom Poste Bureau
Tri :
Afficher : X X X X
Critère : Vendeur Montréal
Ou : Vendeur Québec
Vous pourriez aussi répondre à cette question de cette manière:
Critère
Champ : Prénom Nom Poste Bureau
Tri :
Afficher : X X X X
Critère : Vendeur Montréal ou Québec
Ou :
Résultat
Prénom Nom Poste Bureau
Denis Lambert vendeur Montréal
Suzanne Rémi vendeur Montréal
Éric Gendron vendeur Montréal
Élise Lavigueur vendeur Québec
Paul Gendron vendeur Québec
Cette question démontre qu'il est possible de combiner des critères sous forme ET et OU. Les critères sur une même
ligne sont ajoutés (ET) l'un à l'autre. Les critères qui sont sur une autre ligne offrent une autre possibilité pour
chercher de l'information (OU).
10- Affichez le prénom, le nom et le revenu des employés ayant un revenu supérieur ou égal à 45 000 $.
L'un des grands avantages des requêtes est la possibilité de créer des champs calculés. Il est possible d'afficher le
résultat d'une formule qui utilise les informations provenant des autres champs de l'enregistrement. Pour cet
exemple, le revenu est calculé par la somme du salaire et de la commission de l'employé.
Vous devez écrire le champ calculé dans l'une des cases de la ligne Champ. Le champ calculé est composé de deux
parties: le nom et la formule. Elles sont séparées par un ":". Pour l'exercice, il faut créer le champ calculé pour le
revenu de chaque employé.
Placez le curseur dans l'une des cases vides de la ligne Champ.
Écrivez le nom que vous voulez donner à votre champ. Pour l'exercice, écrivez "Revenu".
Écrivez un : pour séparer le nom du champ de la formule dont vous avez besoin. C'est après le : que vous écrivez
votre formule.
Écrivez la formule salaire + commission
Ex.: nom:formule, tps:total*0,07 , tvq: (total+tps)*0,75 etc.
Donc, lorsque vous créez votre table, il ne doit pas avoir de champs dont vous pouvez trouver le résultat à partir des
autres champs de l'enregistrement. L'exemple ci-dessus démontre qu'il est inutile d'avoir un champ TPS et TVQ dans
une table puisqu'il est facile de les calculer.
Attention!
Si le nom du champ est composé de plusieurs mots, vous devez le mettre entre des crochets []. Ex.: [Date de
naissance], [Taxe sur les produits et les services].
Il arrive souvent après que vous avez exécuté une requête ayant un champ calculé qu'Access demande la valeur du
paramètre. Une fenêtre apparaît avec le message et indique aussi le nom d'un champ. La raison que cette fenêtre
apparaît est simple: vous avez fait une erreur d'orthographe sur l'un des noms de champ. Il faut absolument que le
nom du champ dans la case du champ calculé soit identique à celui que vous avez donné dans la table ou dans la
requête.
Pour cet exercice, plusieurs oublient de mettre deux "m" ou deux "s" au champ commission. Certains mettent même
un "s" à la fin du champ Commission ou du champ Salaire. Vous devez l'écrire de la même façon qu'il est écrit dans
la table.
Critère
Champ : Prénom Nom Revenu : salaire + commission
Tri :
Afficher : X X X
Critère : >=45000
Ou :
Résultat
Prénom Nom Revenu
Roger Lepage 50 000 $
Denis Lambert 45 000 $
Suzanne Rémi 65 000 $
Élise Lavigueur 47 000 $
11- Affichez la commission de chacun des vendeurs si on leur donne une augmentation de 20%.
Cette requête utilise encore une fois un champ calculé. Il s'agit d'une multiplication au lieu d'une addition.
Critère
Champ : Poste Ajusté : commission * 1,2
Tri :
Afficher : X
Critère : " vendeur "
Ou :
Résultat
Ajusté
54 000,00 $
78 000,00 $
27 600,00 $
56 400,00 $
26 400,00 $
Si vous le voulez, corrigez cette requête pour ajouter le prénom et le nom de famille des vendeurs devant leurs
revenus.
12- Affichez le prénom et le nom des personnes embauché en 1993 sans utiliser le critère ENTRE ou <=,
ET.
Il serait trop facile de trouver la réponse en utilisant le critère "Entre". Cette requête est pour vous montrer ce qui est
possible d'accomplir avec les fonctions d'Access et le générateur d'expression.
À date toutes les requêtes ont été accomplies avec des critères de recherche simples. Access vous offre une liste de
fonctions préparées pour accomplir des recherches plus élaborées. Pour l'exercice, il faut utilise la fonction année() qui
se retrouve dans la catégorie Date/Heure. Cette fonction ressort sous forme de chiffre l'année du champ du type
Date/Heure qui s'y retrouve.
Un champ de type Date/Heure contient beaucoup d'informations. Il y a l'année, le mois, le jour, l'heure, les minutes,
les secondes et même les factions de secondes qui y sont conservées. Access vous offre des fonctions pour ressortir
que la partie qui vous intéresse de ces données.
Par exemple, si le champ de type Date/Heure Date de naissance est 1999-07-02, la fonction année([Date de
naissance]) va donner le chiffre 1999.
Le même concept s'applique à d'autres fonctions. Ex.:
mois([champ de type Date/Heure]) Chiffre de 1 à 12 ( Janvier à décembre )
jour([champ de type Date/Heure]) Chiffre de 1 à 31 ( 1er au 31e jour du mois )
joursem([champ de type Date/Heure]) Chiffre de 1 à 7 ( Dimanche à samedi )
Access offre plusieurs autres fonctions qu'on peut écrire directement dans la case ou en utilisant le générateur
d'expression qui sera utilisé pour cet exercice.
Ajoutez les champs Prénom et Nom à la liste des champs de la requête.
Placez le pointeur dans la troisième case de la ligne des champs: à la droite du champ Nom.
De la barre d'outils des requêtes, appuyez sur le bouton .
OU
Appuyez sur le bouton droit de la souris.
Du menu contextuel, sélectionnez l'option Générer.
La fenêtre du générateur d'expression va apparaître.
C'est à partir de cette fenêtre que vous avez accès à plusieurs des ressources d'Access. Il vous est possible de
chercher tous les objets de tous les champs, les requêtes, les formulaires, les états de votre base de données. De
plus, vous avez aussi accès aux fonctions intégrées d'Access. Ceux-ci vous donnent beaucoup de flexibilité au moment
de la création de vos requêtes. Si vous êtes intéressé, vous pouvez aussi créer vos propres fonctions.
C'est dans la case du haut qui sera inscrit la formule pour le champ calculé de cet exercice. Vous pouvez dans certains
cas combiner des fonctions d'Access pour atteindre le résultat que vous voulez. Ex.: Abs ( CMonnaie ([champ de type
texte]) ) . Juste en dessous, il y des boutons pour les opérations mathématiques et différents critères de sélection.
Dans les trois colonnes en dessous, il est possible d'accéder à tous les objets d'Access. Pour l'exercice, il faut chercher
la fonction intégré Année().
Pour voir le contenu des dossiers qui ont un "+" sur le dessus, il faut faire un "double-clic" sur le dossier en question.
Faites un double-clic sur le dossier Fonctions .
Cliquez sur le dossier Fonctions intégrées .
Le contenu de la deuxième et la troisième colonne vont se remplir. La deuxième colonne contient la liste des
catégories de fonctions. La troisième colonne contient la liste des fonctions disponibles. La fonction Année() fait partie
de la catégorie Date/Heure.
Dans la deuxième colonne, cliquez sur la catégorie Date/Heure.
Le contenu de la troisième colonne change pour montrer seulement les fonctions de la catégorie choisie, soit celle de
Date/Heure. La fonction recherchée est à la seconde de la liste. Pour l'insérer dans la section de la formule:
Faite un double-clic sur la fonction Année().
OU
Cliquez sur la fonction Année().
Appuyez sur bouton Coller.
Le contenu de la case de formulation sera: Année("Nombre").
Il suffit maintenant de remplacer "Nombre" par le champ de type Date/Heure nécessaire pour la requête, soit le
champ Embauche.
Supprimer le texte "nombre", incluant les guillemets mais pas les parenthèses.
Laissez le curseur entre les deux parenthèses.
Faites un double-clic sur le dossier Tables de la première colonne.
Encore dans la première colonne, cliquez sur la table Employés.
Le contenu de la deuxième et la troisième colonne vont changer pour montrer les possibilités à partir de cette table.
Dans la deuxième colonne, faites un "double-clic" sur le champ Embauche.
OU
Cliquez sur le champ Embauche et appuyez sur le bouton Coller.
Le texte [Employés]![Embauche] devrait apparaître entre les deux parenthèses. Ceci est pour indiquer que le
champ Embauche de la table Employés a été sélectionné.
La création de la fonction est terminée. Le résultat devrait être année([employés]![embauche])
Appuyez sur le bouton OK.
Access vous retourne au mode création de requêtes.
Appuyez sur la touche Entrée pour terminer l'entrée de la formule dans la case des champs.
Access va ajouter "Expr1:" devant la formule. Access considère cette fonction comme un champ calculé des exercices
précédents. Un champ calculé est toujours composé d'un nom, suivi d'un deux points et le calcul. Vous pouvez si vous
le voulez changer le texte "Expr1" par quelque chose de plus approprié tel que "Année d'embauche".
Critère
Champ : Prénom Nom Expr1:année([employés]![embauche])
Tri :
Afficher : X X
Critère : 1993
Ou :
Résultat
Prénom Nom
Suzanne Rémi
Éric Gendron
Roger Dubuc
Élise Lavigueur
Paul Gendron
Quelqu'un a trouvé une autre manière de répondre à cette question.
Critère
Champ : Prénom Nom embauche
Tri :
Afficher : X X
Critère : 93-??-??
Ou :
Bien que cette manière fonctionne, elle ne démontre pas les possibilités des fonctions. Cet exercice a démontré qu'il
est possible d'utiliser une fonction pour un champ calculé. Mais, vous pouvez aussi utiliser les fonctions pour les
critères de votre requête.
13- Affichez combien d'années de service a chaque employé de l'entreprise.
Cet exercice démontre un peu mieux l'avantage des fonctions dans des champs calculés. Elle démontre aussi la
fonction qui est la date de l'ordinateur sur lequel vous travaillez. Il devient donc facile, avec la fonction année(), de
faire une soustraction pour calculer le nombre d'années de service. Le résultat suivant est correct si la requête a été
faite en l'an 2002.
Critère
Champ : Prénom Nom Service:Année(date())-année([embauche])
Tri :
Afficher : X X X
Critère :
Ou :
Résultat
Prénom Nom Service
Roger Lepage 10
Denis Lambert 10
Suzanne Rémi 9
Éric Gendron 9
Roger Dubuc 9
Élise Lavigueur 9
Paul Gendron 9
Il y a aussi d'autres fonctions du groupe Date/Heure qui pourrait vous intéresser. Il y a la fonction maintenant() qui
donne non seulement la date mais aussi l'heure de l'ordinateur. Donc, au lieu d'avoir juste le 98-01-01 avec la fonction
date(), il est possible d'avoir avec la fonction maintenant() 98-01-01 12:00:00 . Il y d'autres fonctions tel que jour(),
joursem(), mois() et plusieurs autres qui sont disponibles dans la catégorie Date/Heure. Il ne faut pas oublier
qu'Access vous offre 176 fonctions distribuées dans 16 catégories.
Note sur les champs de type Date/Heure.
Bien qu'Access affiche l'information sous forme de date ou d'heure, les informations sont conservées dans le logiciel
sous forme numérique. Par exemple, le chiffre 37222 équivaut au 27 novembre 2001. Donc 37222,5 équivaut à midi
le 27 novembre 2201.
14- Affichez à côté du prénom et du nom des employés de l'entreprise le texte "champion" pour ceux qui
ont une commission de 45 000 $ ou plus. Placez le texte "Désolé" à côte de ceux qui ne répondent pas au
critère précédent.
Cet exercice est pour vous démontrer la fonction Vraifaux pour afficher du texte. Elle fonctionne sur le même principe
que la fonction =Si d'Excel. Elle lui faut trois informations, ou trois "paramètres", pour fonctionner correctement: la
condition, que faire si vrai et que faire si faux. Ces paramètres sont séparés par un point-virgule (;). On vous demande
ici d'écrire le texte "Champion" si la personne a une commission de 45 000 $ ou plus. Sinon, il faut afficher le texte
"Désolé".
Critère
Champ : Prénom Nom Critère:vraifaux([commission]>= 45000;"Champion";"Désolé")
Tri:
Afficher : X X X
Critère :
Ou :
Résultat
Prénom Nom Critère
Roger Lepage Désolé
Denis Lambert Champion
Suzanne Rémi Champion
Éric Gendron Désolé
Roger Dubuc Désolé
Élise Lavigueur Champion
Paul Gendron Désolé
Pour cet exercice, la fonction Vraifaux a été utilisée pour afficher du texte. Vous pouvez aussi l'utiliser pour aussi
afficher des chiffres comme dans le prochain exercice.
15- Affichez la commission des vendeurs si on donnait une prime de 5 000 $ à ceux ayant une
commission de 45 000 $ ou plus.
C'est dans ce genre de situation de la fonction vraifaux est vraiment avantageuse. Elle s'applique seulement si les
conditions requises sont remplies. Dans l'exercice précédent, la fonction Vraifaux() était utilisée avec du texte. Ici la
fonction est utilisée pour calculer un chiffre.
Critère
Champ : Prénom Nom Ajusté:vraifaux([commission]>= 45000;[commission]+5000;[commission])
Tri:
Afficher : X X X
Critère :
Ou :
Résultat
Prénom Nom Ajusté
Roger Lepage 0
Denis Lambert 50 000
Suzanne Rémi 70 000
Éric Gendron 23 000
Roger Dubuc 0
Élise Lavigueur 52 000
Paul Gendron 22 000
Pouvez-vous préparer une requête qui démontrait la différence à la masse salariale avec et sans cette prime? Vous
devriez être capable si vous avez bien compris les exercices précédents.
16- Affichez la somme de la masse salariale de la compagnie.
À date, les questions affichaient les informations selon les critères demandés. Mais que faire lorsqu'on a besoin de
trouver la somme, la moyenne ou le nombre d'enregistrements qui répondent à certains critères? C'est pour ces
circonstances qu'il y a les opérations.
Il y a une fonction très puissante qui n'a pas été couverte jusqu'à présent: les opérations de regroupement. Il est
possible avec les opérations de regrouper les enregistrements pour pouvoir les additionner, les compter, trouver la
moyenne, le plus petit, le plus grand et plusieurs autres. C'est aussi une opportunité de revoir les champs calculés
pour déterminer la masse salariale de l'entreprise. On utilise encore une fois un champ calculé pour déterminer le
revenu (salaire + commission) de chaque employé.
De la barre d'outils, appuyez sur le bouton .
OU
Du menu Affichage, sélectionnez l'option Opérations.
Une nouvelle ligne s'est insérée en dessous de la ligne des champs. C'est la ligne des opérations. Access vous permet
d'accomplir des opérations mathématiques sur les enregistrements d'une requête. Si vous regardez les opérations
possibles, vous retrouverez parmi d'autres la somme, la moyenne, le plus petit (min), la plus grande (max) etc.
Dans la première colonne, écrivez la formule suivante: Revenu: [salaire] + [commission] .
De la ligne des opérations, sélectionnez l'opération de Somme pour le revenu.
Note:
Plusieurs personnes mélangent les opérations Somme et Compte. L'opération Somme est utilisée pour l'addition de
chiffres de champs de type numérique ou de type monétaire. L'opération Compte est utilisée pour compter le nombre
d'enregistrements qui répondent aux critères sélectionnés.
Il est aussi à noter qu'il est impossible de mettre un critère sous les opérations sauf pour les opérations
Regroupement, Compte, Expression et Où. Cette dernière sera utilisée pour l'exercice numéro 19.
Critère
Champ : Revenu : [salaire] + [commission]
Opération: Somme
Tri:
Afficher : X
Critère :
Ou :
Résultat
Revenu
295 000 $
Il y a aussi une autre manière de réaliser la requête en utilisant la fonction somme. Voici à quoi elle ressemblerait.
Critère
Champ : Revenu : somme([salaire] + [commission])
Tri:
Afficher : X
Critère :
Ou :
Dans ce cas, elle n'est pas vraiment plus pratique que l'opération somme. Elle est cependant plus pratique lorsqu'elle
est utilisée dans un champ calculé avec d'autres fonctions. Par exemple: somme([commission] +
[salaire])/compte([bureau]). En passant, cette dernière formule est l'équivalent de moyenne([salaire] + [commission]).
17- Affichez la somme de la masse salariale de la compagnie divisée par occupation.
Il s'agit encore une fois d'une requête qui a besoin d'une opération. Il faut cependant un champ de plus pour avoir le
détail nécessaire. Dans ce cas, il faut ajouter le champ bureau pour pouvoir répartir les revenus par poste.
De la barre d'outils, appuyez sur le bouton .
OU
Du menu Affichage, sélectionnez l'option Opérations.
Critère
Champ : Poste Revenu : salaire + commission
Opération: Regroupement Somme
Tri:
Afficher : X X
Critère :
Ou :
Résultat
Poste Revenu
Gérant 93 000 $
Vendeur 202 000 $
La masse salariale de l'entreprise est maintenant réparti selon le poste de travail: gérant ou vendeur. Pour l'exemple,
il y a seulement deux postes. S'il y aurait eu plus que cela, chaque poste serait affiché avec son revenu équivalent.
18- Affichez la somme de la masse salariale de la compagnie divisée par lieu de travail et par poste.
Il s'agit aussi d'une requête qui a besoin d'une opération (somme). Il faut ajouter encore plus de détails que les deux
dernières requêtes. Dans ce cas, il faut ajouter les champs Bureau et poste en plus de calculer les revenus.
Appuyez sur le bouton .
OU
Du menu Affichage, sélectionnez l'option Opérations.
Critère
Champ : Bureau Poste Revenu : salaire + commission
Opération : Regroupement Regroupement Somme
Tri:
Afficher : X X X
Critère :
Ou :
Résultat
Bureau Poste Revenu
Montréal Gérant 50 000 $
Montréal Vendeur 133 000 $
Québec Gérant 43 000 $
Québec Vendeur 169 000 $
Plus que vous ajoutez de champs, plus que la réponse sera détaillée. À l'exercice 11, il y avait seulement un champ
pour le total des revenus. À l'exercice 12, il y avait en plus du champ des revenus celui des postes. Le résultat de la
requête est plus détaillé qu'auparavant. Avec cette question et trois champs à l'affichage, le résultat est encore plus
détaillé.
19- Affichez la masse salariale des employés embauchés en 1993 repartit par lieu de travail.
Vous avez remarqué dans les trois derniers exercices qu'à chaque fois que vous ajoutez un champ à la requête que la
réponse devient de plus en plus détaillée. Mais, que faire lorsqu'il faut faire une opération avec des critères sans
détailler sur ceux-ci ? Il existe une opération pour régler cette situation. L'opération "Où" est utilisé lorsqu'on veut
ajouter une condition à une requête sans pour autant détaillé la réponse sur cette condition. Pour l'exemple, le champ
Embauche est utilisé pour trouver les employés qui ont été embauché en 1993. Cependant, le revenu n'est pas
distribué pour chacune des dates d'embauche de cette année.
Critère
Champ : Embauche Bureau Revenu : salaire + commission
Opération : Où Regroupement Somme
Tri:
Afficher : X X
Critère : Entre #93-01-01# et #93-12-31#
Ou :
Résultat
Bureau Revenus
Montréal 88 000 $
Québec 112 000 $
Si vous n'aviez pas utilisé l'opération "Où", et laissé à l'opération regroupement pour le champ Embauche, le résultat
aurait affiché le cumulatif des revenus par bureau et par date d'embauche des employés de la compagnie.
20- Affichez le nombre de personnes pour l'entreprise par lieu de travail et par occupation.
Cet exercice est pour vous démontrer le fonctionnement de l'opération Compte. Cette opération, comme le nom
l'indique, compte le nombre d'enregistrements qui répondent aux critères demandés. Aussi, comme pour toutes les
opérations, à chaque fois que vous ajoutez un champ à la requête, la réponse devient de plus en plus détaillée.
Appuyez sur le bouton .
OU
Du menu Affichage, sélectionnez l'option Opérations.
Critère
Champ : Bureau Poste Prénom
Opération : Regroupement Regroupement Compte
Tri: Croissant Croissant
Afficher : X X X
Critère :
Ou :
Résultat
Bureau Poste CompteDePrénom
Montréal Gérant 1
Montréal Vendeur 3
Québec Gérant 1
Québec Vendeur 2
20a- Le piège de l'opération Compte
L'opération Compte calcule le nombre 'enregistrements qui répond aux critères que vous avez choisi. Il y a cependant
une situation ou celle-ci pourrait sous-estimer le nombre exact. Reprenons le dernier exemple avec une petite
modification. Au lieu de faire le compte sur le champ Prénom, utilisez le champ Commentaire.
Champ : Bureau Poste Commentaire
Opération : Regroupement Regroupement Compte
Tri: Croissant Croissant
Afficher : X X X
Critère :
Ou :
Résultat
Bureau Poste CompteDeCommentaire
Montréal Gérant 0
Montréal Vendeur 3
Québec Gérant 0
Québec Vendeur 2
Il n'y a plus de gérants! Pourquoi y a-t-il une différence? Access n'ajoute pas les enregistrements dont le contenu du
champ est vide. Comme vous l'avez vu à l'exercice 7, le contenu du champ commentaire est vide pour les gérants de
l'entreprise. Il est donc fortement suggéré de toujours utiliser avec l'opération Compte un champ dont on est certain
qu'il y a un contenu. Vous pouvez l'un des autres champs de la requête ou le champ qui sert de clé primaire de la
table. Par définition, celui-ci ne peut jamais être vide.
21- Déterminez le nombre de vendeurs "champions" ayant récolté une commission de 45 000 $ ou plus.
L'exercice consiste à utiliser l'opération Compte pour connaître le nombre de personnes qui répondent aux critères
mentionnés ci-dessus. Cet exercice ressemble beaucoup à l'exercice 19. La différence est que cet exercice utilise
l'opération Compte au lieu de l'opération Somme. Puisque les gérants de l'entreprise n'ont pas de commissions, le
champ Poste est inutile pour compter seulement les vendeurs.
Appuyez sur le bouton .
OU
Du menu Affichage, sélectionnez l'option Opérations.
Critère
Champ : Nombre:Prénom Commission
Opération : Compte Où
Tri:
Afficher : X
Critère : >=45000
Ou :
Résultat
Nombre
3
22- Utilisez une requête d'analyse croisée pour déterminer la masse salariale de l'entreprise par
occupation en colonne et par lieu de travail en ligne.
Pour créer une analyse croisée, vous avez besoin d'au moins trois champs. Le premier est l'En-tête de colonne. Ce
sont les valeurs qui seront affichées au haut de chaque colonne du tableau d'analyse croisé. Pour cet exercice, ce sera
le contenu du champ Poste. Donc, les colonnes du tableau vont représenter chacune des valeurs qui se retrouvent
dans le champ. Puisqu'il y a seulement deux occupations, gérant et vendeur, le tableau aura seulement deux colonnes
avec ces valeurs.
Le second élément nécessaire à une analyse croisée est d'avoir au moins un En-tête de ligne. C'est le champ qui va
détailler les valeurs des colonnes. Il vous est aussi possible d'ajouter d'autres En-têtes de ligne pour décrire avec plus
de détails les résultats. Pour cet exercice, ce champ sera le champ Bureau.
Le dernier élément à la création d'une analyse croisée est une valeur. C'est un chiffre ou une opération comme ceux
utilisés pour les exercices de 16 à 21 (somme, moyenne, compte ...). Pour les besoins de l'exercice, il est encore une
fois nécessaire d'utiliser le champ calculé Revenu qui est le total du salaire et de la commission de chacun des
employés de l'entreprise (revenu: [salaire] + [commission]). Un tableau d'analyse croisé peut avoir seulement une
opération à la fois. Donc, si vous avez besoin d'avoir la somme et la moyenne de la masse salariale, il faudra deux
analyses avec des opérations différentes (Somme et Moyenne par exemple).
Créez une nouvelle requête en mode Création.
Il aurait été possible d'utiliser l'assistant d'analyse croisée si l'exercice n'utilisait pas le champ calculé revenu.
Parmi la liste des tables et requêtes, sélectionnez la table Employés.
Sélectionnez une requête de type d'analyse croisé en sélectionnant le bouton .
OU
Du menu Requête, sélectionnez la requête Analyse croisée.
Sélectionnez le champ Poste et Bureau.
Sur la ligne des champs, à la droite des deux champs que vous venez d'ajouter, écrivez la formule pour le champ
calculé: Revenu: [salaire] + [commission] .
À la ligne des opérations, sélectionnez l'opération Somme sous le champ Revenu. Laissez l'opération
Regroupement aux deux autres champs.
À la ligne d'analyse, sélectionnez l'option En-tête de colonne sous le champ Poste.
À la ligne d'analyse, sélectionnez l'option En-tête de ligne sous le champ Bureau.
À la ligne d'analyse, sélectionnez l'option Valeur sous le champ calculé Revenu.
Voici une représentation des champs et des options sélectionnées.
Champ: Poste Bureau Revenu: [salaire] + [commission]
Table: Employés Employés
Opération: Regroupement Regroupement Somme
Analyse: En-tête de colonne En-tête de ligne Valeur
Tri:
Critère:
Exécutez la requête en appuyant sur le bouton .
Résultat:
Bureau Gérant Vendeur
Montréal 50 000,00 $ 133 000,00 $
Québec 43 000,00 $ 69 000,00 $
Vous pouvez ajouter d'autres champs sur la ligne d'analyse s'il utilise l'En-tête de ligne. Le résultat sera plus détaillé
s'il y a plus de champs qui utilisent l'en-tête de ligne. Par exemple, vous pouvez ajouter le champ Permanence pour
différencier la masse salariale des employés qui ont ou pas la permanence à l'intérieur de l'entreprise. Ou, vous
pouvez utiliser un champ calculé avec la fonction Année([embauche]) pour déterminer la masse salariale par le
nombre d'années d'expérience dans la compagnie. Il vous est aussi possible d'avoir d'autres champs pour des critères
de sélection. Si vous ne voulez pas que ces champs s'affichent dans le tableau, utilisez l'option Non affichée sur la
ligne d'analyse.
23- Utilisez une requête d'analyse croisée pour déterminer le nombre d'employés par statut social et par
lieu de travail ayant la permanence.
Cet exercice démontre qu'il est possible d'avoir une analyse croisée qui utilise l'opération Compte et des critères. Au
lieu d'avoir un tableau contenant tous les employés, cette analyse aura seulement les employés ayant la permanence
dans l'entreprise.
Critère:
Champ: Bureau Stat social Commission Permanence
Table: Employés Employés Employés Employés
Opération: Regroupement Regroupement Compte Regroupement
Analyse: En-tête de colonne En-tête de ligne Valeur
Tri: Croissant Croissant
Critère: Oui
Exécutez la requête en appuyant sur le bouton .
Résultat:
Statut social Montréal Québec
1 1
2 2
3 2
Il y a cinq personnes parmi la liste qui ont la permanence; trois à Montréal et deux à Québec. Avec la description des
nombres, on sait qu'il y a un célibataire (1), deux personnes mariées (2) et deux personnes mariées avec des enfants
(3).
24- Changer le lieu de travail des employés de Québec à Sillery.
Il arrive souvent après l'entré des données initiales qu'il y a des corrections de données massives. Vous pouvez
toujours changer manuellement le contenu des champs. Mais, vous pouvez aussi, avec la requête de type Mise à jour,
changer le contenu d'un champs plus rapidement et efficacement et sans avoir à s'inquiéter des erreurs
d'orthographe.
Contrairement à une requête de type sélection ou de type Analyse croisée, une requête d'action modifie le contenu
d'une table selon les critères que vous avez choisis. Ici, il consiste à modifier le contenu du champ Bureau à Sillery
pour tous les enregistrements sont le contenu est présentement Québec.
Créez une nouvelle requête en mode création.
De la liste des tables et requêtes, sélectionnez la table Employés.
Sélectionnez le type de requête Mise à jour en appuyant sur le bouton .
OU
Du menu Requête, sélectionnez l'option Requête mise à jour.
De la liste des champs, sélectionnez le champ Bureau.
À la ligne Mise à jour sous le champ Bureau, entrez le texte: Sillery .
À la ligne des critères sous le champ Bureau, entrez le texte: Québec .
Access va automatiquement ajouter des guillemets autour de Sillery et Québec puisque le champ Bureau est de type
Texte.
Champ: Bureau
Table: Employés
Mise à jour: "Sillery"
Critère: "Québec"
Exécutez la requête en appuyant sur le bouton .
Access va vous demander une dernière fois de confirmer la modification à la table de la base de données.
Appuyez sur le bouton OK pour confirmer la modification.
Vous pouvez aussi créer une requête de type Mise à jour en utilisant plusieurs champs pour les critères de sélection
ou pour la mise à jour. Vous pouvez aussi inverser cette opération en changeant de place Québec et Sillery dans la
grille des critères.
Il vous est aussi possible de vérifier si les enregistrements à modifier répondent tous aux critères que vous avez
sélectionnés avant la mise à jour. Utilisez le type de requête Sélection pour afficher les enregistrements avec les
critères de votre choix. Une fois que vous êtes satisfait que les enregistrements doivent être modifiés, changez le type
de requête de Sélection à Mise à jour.
25- Supprimer tous les employés dont le nom de famille est Gendron.
Il s'agit ici d'une requête d'action de type suppression. Celle-ci supprime tous les enregistrements de la table qui
répondent aux critères que vous sélectionnez.
Créez une nouvelle 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 de type Suppression en appuyant sur le bouton .
OU
Du menu Requête, sélectionnez l'option Requête suppression.
Sélectionnez le champ Nom.
Au critère sous le champ Nom, entrez le texte : Gendron .
Voici la représentation des options choisies pour cette requête.
Champ: Nom
Table: Employés
Supprimer: Où
Critère: Gendron
Exécutez la requête en appuyant sur le bouton .
Access vous demande de confirmer la suppression des enregistrements qui répondent aux critères sélectionnés.
Pour les besoins des exercices, conservez les enregistrements en sélectionnant l'option Non.
Il vous est aussi possible de créer une requête de suppression qui utilise plusieurs critères et plusieurs champs.
Avant de supprimer des enregistrements, vous pouvez vérifier si vos critères répondent à vos besoins. Au lieu de
choisir une requête de type suppression, sélectionnez une requête de type sélection. Vous pourrez ensuite afficher les
enregistrements avec les critères de votre choix et vous assurer d'avoir choisi les bons enregistrements. Si vous avez
les bons enregistrements, vous pouvez changer le type de requête à une requête suppression et l'exécuter.
Cette possibilité est très avantageuse pour éviter des erreurs qui pourraient coûter cher en perte de données et en
temps pour retranscrire les données (si possible).
26- 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: 1998]
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.
Suzanne Rémi 1993
Éric Gendron 1993
Roger Dubuc 1993
Élise Lavigueur 1993
Paul Gendron 1993
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.
27- Affichez le numéro de facture, nom et adresse du client ainsi que le prénom et nom du vendeur.
À date, tous les exercices que vous avez vus nécessitaient qu'une table; la table Employés. Cependant, les requêtes
les plus puissantes peuvent utiliser les informations provenant de plusieurs tables ou de requêtes reliées. Les
prochains exercices consistent à créer des requêtes utilisant plusieurs tables.
Auparavant, il faut sauvegarder sur votre disquette ou sur votre disque dur une copie de la base de données
demoacc2.mdb. À cause de difficulté à partir du fureteur Netscape, le fichier a été "compacté", ou "zippé", sous le
nom demoacc2.exe. Celui-ci contient la base de données. Il suffit d'exécuter le programme pour que celui-ci vous
sorte la base de données nécessaire pour les prochains exercices. Pour ceux qui utilisent Access 2000, sélectionnez le
fichier demoa2k2.exe. Cette base de données contient plusieurs tables avec lesquelles il sera possible de les relier.
Vous retrouverez ce fichier sur la page Web des fichiers de démonstrations.
Pour avoir plus d'informations sur les relations entre les tables et les requêtes, veillez-vous rendre à la page sur les
relations entre les tables ou les requêtes. Toutes les opérations que vous avez vues dans les exercices précédents
sont aussi possibles avec des tables ou des requêtes reliées.
Créez une nouvelle requête en mode création.
De la liste des tables disponibles, sélectionnez les tables Clients, Factures 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.
Champ: No Facture Nom Adresse Prénom Nom
Table: Facture Clients Clients Employés Employés
Tri:
Afficher: X X X X X
Critères:
Exécutez la requête en appuyant sur le bouton .
Résultat:
No Facture Client.Nom Adresse Prénom Employés.Nom
1 Alpha Ltée 1000 Lavigne Denis Lambert
2 Béatrix Inc. 2000 Des Ormeaux Suzanne Rémi
3 Charles et Cie. 3000 St-Hubert Éric Gendron
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).
28- 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.
Une autre différence entre cet exercice et le précédent est l'utilisation de l'opération Compte pour savoir combien
d'items ont été vendus et par qui. Il est bien possible qu'il y ait un bonus si le vendeur a atteint son quota pour un
item. Voici la liste des tables et des relations dont vous avez besoin.
Si vous ne savez pas comment relier les tables, veillez lire l'exercice précédent.
Critère:
Champ: Prénom Nom Description Quantité
Table: Employés Employés Inventaire Transition Fact-Inv
Opération Regroupement Regroupement Regroupement Somme
Tri:
Afficher: X X X X
Critères:
Exécutez la requête en appuyant sur le bouton .
Résultat:
Prénom Nom Description SommeDeQuantité
Denis Lambert Patin à roulette 1
Denis Lambert Planche à neige 4
Denis Lambert Ski 3
Denis Lambert Vélo de montagne 2
Éric Gendron Patin à roulette 4
Éric Gendron Vélo de montagne 3
Suzanne Rémi Patin à roulette 4
Suzanne Rémi Vélo de montagne 5
29- 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.
Critère:
Champ: Nom Total: Quantité * [prix unitaire]
Table: Clients
Opération Regroupement Somme
Tri:
Afficher: X X
Critères:
Exécutez la requête en appuyant sur le bouton .
Résultat:
Q29: Revenus par client
Nom Total
Alpha Ltée 3 805 ,00 $
Béatrix Inc. 970 ,00 $
Charles et cie 670,00 $
30- 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 facture, Code Client, No 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: Nunméro de Code Nom Adresse No Numéro de Quantité Total: quantité * [Prix
Facture Client Vendeur produit unitaire]
Table: Transition Fact- Clients Clients Clients Facture Transition Fact- Transition Fact-
Inv Inv 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 Code Client No Vendeur Numéro de produit Quantité
Aucune 1 2 1 10
Même qu'Access à 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.
Conclusion
J'espère que toutes ces requêtes vous ont donné des idées et assez de matière pour concevoir les vôtres. Laissez-moi
un message si vous avec des commentaires ou des questions.