Fonctions de date

Regardons plus attentivement les fonctions


Nous allons préciser l'année de naissance de nos clients. Commencez par créer un nouveau champ AnneeNaissance en dessous de DateNaissance, en type de données Calculé.
Comme sur l'image :
  • Ouvrez les fonctions
  • Choisissez Date/Heure
  • Cliquez deux fois sur Année
Vous avez Année(<<date>>) qui s'affiche en haut.
<<date>> est le paramètre de la fonction, c'est à dire quelle date doit-il utiliser pour y afficher l'année ?


Voici comment choisir notre champ DateNaissance comme paramètre :
  • Cliquer sur <<Date>>
  • Cliquer sur T_Client
  • Double-cliquer sur DateNaissance
  • OK
Exécutez la table en mode saisie de données :
Cette fonction est sympathique, mais elle n'est pas d'une utilité transcendentale... On voyait déjà bien les années dans la date de naissance...

Exemple d'un calcul : Age

Par contre, elle peut être utile pour connaître l'âge de nos clients ! A l'heure où j'écris ces lignes, nous sommes en 2012. J'ai donc 47 ans, car je suis né le 21.2.1965. Il suffit de calculer 2012 - 1965 = 47.
2012 moins l'année de la date de naissance du client donne donc... son âge (à une vache près).
Marche à suivre
Commencez par créer un champ calculé Age en dessous de DateNaissance.
Dans le générateur d'expression :
  1. Ecrivez 2012-
  2. Choisissez la fonction Année :
  3. Comme tout à l'heure, précisez DateNaissance comme paramètre :

Et voilà les âges ! Evidemment, l'année prochaine, en 2013, ce champ calculé deviendra faux ! Il faudra penser à changer 2012 en 2013 ! C'est idiot !
Ce qui serait bien, ce serait de remplacer 2012 par une fonction qui nous renvoie la date d'aujourd'hui, dynamiquement.
Dans la leçon 8, quand nous parlions des dates, nous avons vu comment attribuer la valeur par défaut d'un champ Date/Heure à aujourd'hui grâce à la fonction Date(). Vous vous rappelez ?

Fonctions impossibles à utiliser (Date)

Nous allons simplement remplacer 2012 par Année(Date()), comme ceci (Ecrivez-le à la main) : .
Au moment de cliquer sur OK, vous êtes gratifié d'un message d'erreur désagréable :
Pour l'anecdote, Le message d'erreur prétend que vous avez utilisé la fonction Year alors que vous avez utilisé Année (Une preuve de plus qu'il y a des imprefections lors de la traduction française)
Access nous précise bien que la fonction Date() existe bien mais qu'on ne peut pas l'utiliser dans ce cadre ! C'est ballot, n'est-ce pas ?
Par contre, lorsque nous verrons les requêtes, il sera alors très possible de faire un calcul utilisant Date().
Voici le résultat d'une requête, juste pour vous montrer :
Pour illustrer mon propos, regardez ce tableau comparatif :
En haut, la liste de toutes les fonctions disponibles pour créer la valeur par défaut.
Elle contient beaucoup de fonctions (en vert) qui ne sont pas accessibles...



... à la contruction d'un champ calculé (par exemple, la fonction Date().
Ne me demandez pas pourquoi !

Et pour compléter le tableau, si vous avez besoin d'afficher la date du jour dans Excel, vous ne devez pas utiliser la fonction Date() mais la fonction Aujourdhui()


Et comme si ça ne suffisait pas, la fonction Date() existe aussi dans Excel, mais elle ne renvoie pas la date du jour, elle fait autre chose (mais on va s'arrêter là !!!!)

Aucun commentaire:

Enregistrer un commentaire