ACCESS : Réponses requête 12

12-Affichez le prénom et le nom des personnes embauché en 2003 sans utiliser le critère ENTRE ou <=.

Fonction année([Nom du champ de type Date/Heure]). Montrer le générateur d'expression

Il serait facile de trouver la réponse en utilisant le critère "Entre".

Cette requête vous montre ce qui est possible d'accomplir avec les fonctions d'Access et le générateur d'expression.

Pour l'exercice, il faut utiliser la fonction année() qui se retrouve dans la catégorie Date/Heure. Cette fonction renvoie sous forme de nombre l'année du champ du type Date/Heure qui s'y trouve.

Un champ de type Date/Heure contient beaucoup d'informations. En l'occurence l'année, le mois, le jour, l'heure, les minutes, les secondes et même les fractions de secondes y sont conservées.

Access nous offre des fonctions pour ne renvoyer que la partie des données qui nous intéresse.

Ex : si le champ Date de naissance de type Date/Heure est 22-02-1970, la fonction année([Date de naissance]) renverra le chiffre 1970.

Le même concept s'applique à d'autres fonctions.

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 que nous pouvons rechercher dans le générateur d'expression (qui sera utilisé pour cet exercice).

  1. Ajoutez les champs emp_prenom et emp_nom à la liste des champs de la requête.
  2. Placez le pointeur dans la troisième case de la ligne des champs: à la droite du champ emp_nom.
  1. De la barre d'outils des requêtes, Cliquez sur le bouton Bouton générateur d'expression
OU
  1. Appuyez sur le bouton droit de la souris.
  2. Du menu contextuel, sélectionnez l'option Créer.

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

Fenêtre du 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 également 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 que 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-clique" sur le dossier en question.

  1. Faites un double-clique sur le dossier Fonctions.
  2. 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 place dans la liste.

Pour l'insérer dans la section de la formule :

  1. Faite un double-clique sur la fonction Année().

Le contenu de la case de formulation sera: Année("Date").

Il suffit maintenant de remplacer "Date" par le champ de type Date/Heure nécessaire pour la requête, soit le champ emp_embauche.

  1. Supprimez le texte "Date", incluant les guillemets mais pas les parenthèses.
  2. Laissez le curseur entre les deux parenthèses.
  3. Faites un double-clique sur le dossier Tables de la première colonne.
  4. Encore dans la première colonne, cliquez sur la table Employe.

Le contenu de la deuxième et la troisième colonne vont changer pour montrer les possibilités à partir de cette table.

  1. Dans la deuxième colonne, faites un "double-clique" sur le champ emp_embauche.

Le texte [Employe]![emp_embauche]devrait apparaître entre les deux parenthèses. Ceci indique que le champ emp_embauche de la table Employe a été sélectionné.

La création de la fonction est terminée. Le résultat devrait être année([Employe]![emp_embauche])

  1. Cliquez sur le bouton bouton mode création

Access vous retourne au mode création de requêtes.

  1. Appuyez sur la touche pour terminer la saisie 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.

Pour compléter l'exercice, vous pouvez changer le texte "Expr1" par quelque chose de plus approprié.

Critère :

Champ emp_prenom emp_nom Expr1:année([employés]![embauche])
Tri      
Afficher X X  
Critère     2003
Ou      

Résultat :

emp_prenom emp_nom
Paul TERGEIST
Pierre HAFEUX
Élie COPTAIRE
Vincent TIME

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.