LeCompagnon.info en reconstruction

Access

Access: Les exercices sur les requêtes



Avant de commencer
Les exercices

Avant de commencer

Cette page consiste d'exercices pour vous aider à comprendre le potentiel des requêtes. Elle va vous aider à perfectionner vos connaissances sur les requêtes. Chaque exercice devient de plus en plus difficile. On présume que vous avez déjà lu et compris le fonctionnement des requêtes. Sinon, vous pouvez toujours aller à la page précédente qui explique le fonctionnement des requêtes.

Pour réaliser les premières requêtes, il vous faut la table employés, de la base de données demoacc1.mdb si vous utilisez Access 97. Si vous avez Access 2000, utilisez la base de données demoa2k1.mdb. Ces fichiers sont sur la page des fichiers de démonstrations qui contient tous les fichiers utilisés durant mes démonstrations et les exercices de ce site. Cliquez ici pour vous rendre sur cette page pour ensuite revenir.

Les dernières requêtes sont composées de plusieurs tables reliées. Pour celles-ci, il faut utiliser les bases de données demoacc2.mdb ou demoa2k2.mdb selon que vous utilisez Access 97 ou Access 2000 respectivement. Ils sont aussi sur la page des fichiers de démonstrations.

Les exercices

La grande partie de la création d'une requête est d'être capable d'interpréter la question posée pour que les options d'une requête soient capables d'y répondre. Pour ce faire, il faut de la pratique. La partie qui suit est une série d'exercices pour démontrer quelques-unes des possibilités des requêtes. Ces exercices progressent en difficulté. Chacune démontre une nouvelle option possible avec les requêtes. Elles se basent sur les connaissances que vous avez lues de la page précédente ainsi que sur les exercices précédents.

Pour chacune des questions, pensez à la manière dont vous répondriez avant de voir la réponse. Utilisez les étapes décrites à la page précédente pour choisir les tables, les champs et les autres options pour créer une requête qui répond à la question demandée. Ensuite exécuter la requête pour voir si votre réponse est la même que celle décrite plus bas.

1- Affichez le prénom et le nom des personnes ayant pour prénom " roger ". Vidéo sur une requête paramétrée
* Recherche simple.

2- Affichez le prénom, nom de toutes les personnes dont le nom de famille commence par la lettre " L ". Vidéo sur une requête paramétrée
* Comme * .

3- Affichez le prénom, nom et salaire des personnes ayant un salaire supérieur à 45 000 $. Vidéo sur une requête paramétrée
* , =,<, ,=,<, = et type numérique .

4- Affichez le prénom et le nom des personnes embauchées en 2003. Vidéo sur une requête paramétrée
* Entre et type Date.

Access
Les tables
Les requêtes
Exercices sur les requêtes
Les formulaires
Les formulaires graphiques
Les sous-formulaires
Les états
Les états étiquette
Les macros
Les relations
Exercice sur Access
Quiz sur Access

Autres formations

Word 2003
Word 2007
Excel
VBA pour Excel
PowerPoint 2003
PowerPoint 2007
Access
Access 2010
Internet
Général
Intelligence financière
Vidéos

Navigation
Précédent
Suivant
Page Principale
FAQ
Nouveautés
Plan du site
Références
Motivations
Manuels de formation
Fichiers de démonstration
Droits d'auteur
Text in English
Nous joindre
Par courriel
Abonnez-vous à
l'infolettre LCI

























Abonnez-vous à l'infolettre LeCompagnon.info









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. Vidéo sur une requête paramétrée
* type logique et tri des enregistrements.

6- Affichez le prénom et le nom des employés n’ayant pas la permanence. Vidéo sur une requête paramétrée
* 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. Vidéo sur une requête paramétrée
* Critère "Est Null"

8- Affichez la commission du vendeur Gendron de Montréal. Vidéo sur une requête paramétrée
* Utilisation de la fonction Et.

9- Affichez le prénom, nom et occupation des vendeurs de Montréal et de Québec. Vidéo sur une requête paramétrée
* 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 $. Vidéo sur une requête paramétrée
* type monétaire et champ calculé.

11- Affichez la commission de chacun des vendeurs si on leur donne une augmentation de 20%. Vidéo sur une requête paramétrée
* Champ calculé avec une constante. (20%)

12- Affichez le prénom et le nom des personnes embauché en 2003 sans utiliser le critère ENTRE ou <=. Vidéo sur une requête paramétrée
* 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. Vidéo sur une requête paramétrée
* Fonction année() et date().

14- Affichez le nom du mois d’embauche, ainsi que le prénom et nom de tous les employés de l’entreprise. Triez en ordre chronologique. Vidéo sur requête avec les fonctions Mois et Monthname)
*Fonctions Mois() et Monthname()

15- 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. Vidéo sur une requête paramétrée
* Fonction Vraifaux(condition;si vrai;si faux) dont le résultat est du texte.

16- Affichez la commission des vendeurs si on donnait une prime de 5 000 $ à ceux ayant une commission de 45 000 $ ou plus. Vidéo sur une requête paramétrée
* Fonction VraiFaux(condition; si vrai; si faux) dont le résultat est un chiffre; IIF() en anglais.

17- Affichez la somme de la masse salariale de la compagnie. Vidéo sur requête avec plusieurs tables, un champ calculé et des opérations (somme, compte...)
* Utilisation de l'opération somme.

18- Affichez la somme de la masse salariale de la compagnie divisée par occupation. Vidéo sur une requête paramétrée
* Utilisation de l'opération somme sur plusieurs critères.

19- Affichez la somme de la masse salariale de la compagnie divisée par lieu de travail et par poste. Vidéo sur une requête paramétrée
* Utilisation de l'opération somme sur plusieurs critères.

20- Affichez la masse salariale des employés embauchés en 2003 repartit par lieu de travail. Vidéo sur une requête paramétrée
* Utilisation de l'opération Où.

21- Affichez le nombre de personnes pour l'entreprise par lieu de travail et par occupation. Vidéo sur une requête paramétrée
* Utilisation de l'opération Compte.

21a- Le piège de l'opération Compte.

22- Déterminez le nombre de vendeurs "champions" ayant récolté une commission de 45 000 $ ou plus. Vidéo sur une requête paramétrée
* Utilisation des opérations Compte et Où.

23- 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. Vidéo sur une requête paramétrée
* Requête d'analyse croisée et l'opération Somme.

24- 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. Vidéo sur une requête paramétrée
* Requête d'analyse croisée et l'opération Compte avec un critère.

25- Changer le lieu de travail des employés de Québec à Sillery. Vidéo sur une requête paramétrée
* Requête Mise à jour.

26- Supprimer tous les employés dont le nom de famille est Gendron. Vidéo sur une requête paramétrée
* Requête suppression

27- 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. Vidéo sur une requête paramétrée
* Requête avec entrée de valeur (requête paramétrée).

Les prochaines requêtes requiert 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.

28- Affichez le numéro de facture, nom et adresse du client ainsi que le prénom et nom du vendeur. Vidéo sur une requête paramétrée
* Requête basée sur plusieurs tables.

29- 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.

30- Affichez le total des ventes par clients. Vidéo sur une requête paramétrée
* Requête basée sur plusieurs tables reliées avec l'opération somme et un champ calculé.

31- Utilisez une requête pour entrer les données de factures. Vidéo sur une requête paramétrée
* 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 Access: Bouton 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 Bouton Exécuter la requête.

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 Bouton Exécuter la requête.

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 2003.

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.

Fenêtre entrer la valeur du paramètre. Cela indique généralement que le nom du champ a été mal écrit ou n'est pas 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 2003 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 Bouton Générer.
OU
*Appuyez sur le bouton droit de la souris.

menu contextuel pour les requêtes

*Du menu contextuel, sélectionnez l'option Générer.

La fenêtre du générateur d'expression va apparaître.

Access: générateur d'expression

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 Dossier fonctions.
*Cliquez sur le dossier Fonctions intégrées 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 :

 

 

2003

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 le nom du mois d’embauche, ainsi que le prénom et nom de tous les employés de l’entreprise. Triez en ordre chronologique.

Cet exercice requiert l’usage de deux fonctions de type Date/Heure : mois() et monthname(). La première fonction ressort le numéro du mois d’une date. Le résultat sera toujours entre 1 et 12. La fonction monthname() va afficher le nom du mois. Mais elle besoin de savoir le numéro du mois. C’est pour cela que la fonction mois() sera imbriquée dans la fonction monthname(). L’argument « abbreviate » de la fonction est optionnelle. Elle vous demande si vous désirez utiliser l’abréviation du nom du mois ou le nom complet. Mettre le paramètre faux ou ne pas l’inclure dans la fonction va forcer la fonction à afficher le nom complet du mois.

Critère 

Champ :

Mois(embauche)

Mois embauche : MonthName(Mois(embauche))

Prénom

Nom

Tri:

Croissant

 

 

Croissant

Afficher :

 

X

X

X

Résultat


Mois Embauche

Prénom

Nom

 

Bien que la fonction Mois(embauche) soit cachée, elle aide à trier les enregistrements. Il ne faut surtout pas trier sur le champ Mois Embauche puisqu’Access le trierait en ordre alphabétique. Dans ce cas, tous les enregistrements de décembre seraient devant ceux de janvier!

janvier

Paul

Gendron

 

janvier

Suzanne

Rémi

 

janvier

Denis

Lambert

 

janvier

Roger

Lepage

 

juin

Roger

Dubuc

 

juin

Éric

Gendron

 

juin

Élise

Lavigueur

 

15- 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.

16- 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.

17- Affichez la somme de la masse salariale de la compagnie.

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 Bouton Opérations .
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] .

liste des opérations tel que Regroupement, Somme, Moyenne, Min, Max, Compte et plusieurs autres

*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]).

18- 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.

19- 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 Bouton Opérations .
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é.

20- Affichez la masse salariale des employés embauchés en 2003 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 2003. 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 :

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.

21- 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 Bouton Opérations .
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

21a- 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.

22- 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 20. 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 Bouton Opérations .
OU
*Du menu Affichage, sélectionnez l'option Opérations.

Critère

Champ :

Nombre:Prénom

Commission

Opération :

Compte

Tri:

 

 

Afficher :

X

 

Critère :

 

>=45000

Ou :

 

 

Résultat

Nombre

2

23- 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 Bouton Requête d'analyse croisé.
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 Bouton Exécuter la requête.

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.

24- 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 Bouton Exécuter la requête.

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).

25- 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 Bouton Requête mise à jour.
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 Bouton exécuter la requête.

Fenêtre d'avertissement quetrois enregistrements vont être mis èa jour. Voulez-vous continuer ? Oui

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.

26- 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 Bouton reqquête suppression.
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:

Critère:

Gendron

*Exécutez la requête en appuyant sur le bouton Bouton exécuter la requête.

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).

27- 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 Bouton requête sélection.
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: 2003] .

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 .

Entrer la valeur du pparamèetre: 1993

*Pour les besoins de l'exercice, entrez l'année 2003 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

2003

Éric

Gendron

2003

Roger

Dubuc

2003

Élise

Lavigueur

2003

Paul

Gendron

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 Bouton Générer pour aller chercher les contrôles que vous avez besoin dans la base de données.

28- 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.

tables reliées

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.

3 tables reliés

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 Bouton exécuter la requête.

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).

29- 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.

relations entres les tables Employés, facture, Trans Fact-Inv et Inventaire

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 Bouton exécuter la requête.

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

30- 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.

Tables reliées: Clients, Facture, Transition Fact-Inv et Inventaire

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 Bouton exécuter la requête.

Résultat:

Nom

Total

Alpha Ltée

3 805 ,00 $

Béatrix Inc.

970 ,00 $

Charles et cie

670,00 $

31- 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 Facture

Code 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

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.



Vous avez apprécié cette page?

Dîtes que vous l'aimez en utilisant le bouton Facebook, Twitter ou l'un des autres services sous le bouton "Share".

Cliquez sur le bouton de votre choix

Abonnez-vous à l'infolettre

Abonnez-vous à l'infolettre du site pour recevoir le manuel " 150 fonctions Excel expliquées ". Vous recevrez aussi les prochaines infolettres sur les nouveautés du site et des formations détaillées que vous ne trouverez nulle part ailleurs.


Cliquez ici pour vous abonner à l'infolettre





Ce site est hébergé par 1&1.com