Ga naar inhoud

Huidige leeftijd berekenen


Sanne

Aanbevolen berichten

Geplaatst:

Hier een fijne formule om in FileMaker Pro 7 de huidige leeftijd in jaren op basis van een geboortedatum te berekenen.

 

Let(
verjaardag = Date( Month( Geboortedatum ) ; Day( Geboortedatum ) ; Year( Get ( CurrentDate ) ) ) ; 

(Year( Get ( CurrentDate ) ) - Year( Geboortedatum ) - 1 ) + 
(Get ( CurrentDate ) >= verjaardag)

)

 

Ik hou me aanbevolen voor kortere formules!

Geplaatst:

Misschien is die van mij helemaal fout, maar wel korter :

 

is ongetest en ff uit het hoofd.

 

year( get (currentdate) ) - year( geboortedatum) -

case( dayofyear (geboortedatum) > dayofyear( get(currentdate)) ; 1 ; 0 )

 

Joost

Geplaatst:
is ongetest en ff uit het hoofd

En dat wreekt zich natuurlijk, Joost :)

 

Ik quote de FM-Helptekst maar eens: "Returns a number equal to the number of days from the beginning of the year of date"

 

Dus 18 augustus valt in het ene jaar op de 230ste dag, en in het andere (geschrokken) jaar op de 231ste dag.

 

Dus korter is jouw formule wel, maar minder betrouwbaar :cry: : het zal alleen werken voor verjaardagen in januari en februari.

Geplaatst:

Ik verwachtte al dat het schrikkeljaar een probleem zou zijn.

 

Daar zou ik een let-je voor kunnen maken. En daar op in hakend:

Een let is wellicht leesbaarder, maar niet per se korter. Wordt pas korter als het argument meer dan 1x gebruikt.

Geplaatst: (aangepast)

Voor de liefhebbers :

 

Schrikkeljaar :

 

// schrikkeljaar : deelbaar door 4 of 400, niet 100

Case (

Mod ( Year ( datum ) ; 4 ) = 0 ;

Case (

Mod ( Year ( datum ) ; 400 ) = 0 ; 1 ;

Mod ( Year ( datum ) ; 100 ) = 0 ; 0 ;

1 // normaal schrikkeljaar

)

;

0

)

aangepast door Gast
  • 4 maanden later...
  • 2 maanden later...
Geplaatst:

Ik heb hem in fm7 zo gemaakt:

 

Case(Last_Per = "Dag" ; Bedrag berekend *

If( Mod(Year(Get ( CurrentDate )) ; 4 ) = 0; 366 ; 365) ; "de rest van case" )

 

Als in veld last_per "dag" is ingevuld doet hij dit keer 365 of 366 dagen afhankelijk of het jaartal afgerond deelbaar is door 4. Dat met 400 en 100 is volgens mij niet nodig....

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Antwoord op deze discussie...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...