Exercice Access : Requêtes avec Fonction
Rédigé par GC Team, Publié le 31 Décembre 2011, Mise à jour le Mardi, 30 Novembre 1999 00:00![](/images/thumb/39/default.png)
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.
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 |
|
Denis |
Lambert |
50 000 |
Suzanne |
Rémi |
70 000 |
Éric |
Gendron |
23 000 |
Roger |
Dubuc |
|
É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 S .
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 S .
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.