LibreOffice Base : Avec cette formule, vous pouvez saisir avec succès les anniversaires dans Base

Si vous entrez les dates de naissance des personnes dans LibreOffice Base, le programme peut calculer pour vous l'âge d'une personne cette année. Nous allons vous montrer comment cela fonctionne.

Comment créer une liste d'anniversaire dans LibreOffice Base

Si vous entrez les dates de naissance des personnes dans LibreOffice Base, le programme peut calculer pour vous l'âge d'une personne cette année. Une formule simple est utilisée pour soustraire l'année de naissance de l'année en cours. Cependant, ce n'est pas particulièrement précis, car selon la méthode de comptage habituelle, l'année de vie d'une personne change le jour de son anniversaire. Cela doit donc être inclus dans la formule.

Au départ, la formule était la suivante :

SELECT DATEDIFF ("aa", "Membres". "Date de naissance", CURRENT_DATE) AS "Âge" FROM "Membres"

La variable CURRENT_DATE contient toujours la date actuelle. Avec la fonction DAYOFYEAR, nous isolons le jour de la date et omettons l'année. Nous le faisons avec la date actuelle :

DAYOFYEAR (CURRENT_DATE)

… et aussi avec la date de naissance :

DAYOFYEAR ("Membres". "Date de naissance")

Ensuite, nous vérifions si l'anniversaire arrive encore cette année:

DAYOFYEAR ("Membres". "Date de naissance")> DAYOFYEAR (CURRENT_DATE)

Enfin, une condition est créée avec la commande CASEWHEN. Si la date de l'anniversaire est encore dans le futur, on soustrait un an à l'âge calculé :

- CASEWHEN (DAYOFYEAR ("Membres". "Date of Birth")> DAYOFYEAR (CURRENT_DATE), 1, 0)

Le moins tout à l'avant est le symbole arithmétique et le 1 presque à la fin est déduit si tout le reste s'applique. La formule finie ressemble finalement à ceci :

SELECT DATEDIFF ("aa", "Membres". "Date de naissance", CURRENT_DATE) - CASEWHEN (DAYOFYEAR ("Membres". "Date of Birth")> DAYOFYEAR (CURRENT_DATE), 1, 0) AS "Age" FROM " Membres"

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave