Om du anger födelsedatum för personer i LibreOffice Base kan programmet beräkna för dig hur gammal en person är i år. Vi visar dig hur det fungerar.
Hur man skapar en födelsedagslista i LibreOffice Base
Om du anger födelsedatum för personer i LibreOffice Base kan programmet beräkna för dig hur gammal en person är i år. En enkel formel används för att subtrahera födelseåret från det aktuella året. Detta är dock inte särskilt korrekt, för enligt den vanliga räknemetoden förändras en persons livstid på sin födelsedag. Detta måste därför ingå i formeln.
Till en början var formeln följande:
VÄLJ DATEDIFF ("åå", "Medlemmar". "Födelsedatum", CURRENT_DATE) SOM "Ålder" FRÅN "Medlemmar"
Variabeln CURRENT_DATE innehåller alltid det aktuella datumet. Med funktionen DAYOFYEAR isolerar vi dagen från datumet och utelämnar året. Vi gör detta med aktuellt datum:
DAYOFYEAR (CURRENT_DATE)
… och även med födelsedatum:
DAYOFYEAR ("Medlemmar". "Födelsedatum")
Sedan kontrollerar vi om födelsedagen fortfarande kommer i år:
DAYOFYEAR ("Medlemmar". "Födelsedatum")> DAYOFYEAR (CURRENT_DATE)
Slutligen skapas ett villkor med kommandot CASEWHEN. Om datumet för födelsedagen fortfarande är i framtiden, subtraherar vi ett år från den beräknade åldern:
- CASEWHEN (DAYOFYEAR ("Medlemmar". "Födelsedatum")> DAYOFYEAR (CURRENT_DATE), 1, 0)
Minuset längst fram är den aritmetiska symbolen och 1: an nästan i slutet dras av om allt däremellan gäller. Den färdiga formeln ser äntligen ut så här:
VÄLJ DATEDIFF ("åå", "Medlemmar". "Födelsedatum", CURRENT_DATE) - CASEWHEN (DAYOFYEAR ("Medlemmar". "Födelsedatum")> DAYOFYEAR (CURRENT_DATE), 1, 0) SOM "Ålder" FRÅN " Medlemmar "