Sanne Posted December 2, 2004 Share Posted December 2, 2004 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! Quote Link to comment
Koen Van Hulle Posted December 3, 2004 Share Posted December 3, 2004 Als je de Get(currentdate) vervangt door Get(Currentdatestamp), dan weet je tevens hoe oud hij precies is in seconden. Koen Quote Link to comment
miltenb Posted December 4, 2004 Share Posted December 4, 2004 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 Quote Link to comment
Sanne Posted December 4, 2004 Author Share Posted December 4, 2004 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 : het zal alleen werken voor verjaardagen in januari en februari. Quote Link to comment
miltenb Posted December 4, 2004 Share Posted December 4, 2004 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. Quote Link to comment
miltenb Posted December 4, 2004 Share Posted December 4, 2004 ik zou hem dus makkelijker korter kunnen maken met jouw eigen berekening. Joost PS. Dat leek met niet echt eerlijk. Quote Link to comment
miltenb Posted December 4, 2004 Share Posted December 4, 2004 (edited) 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 ) Edited December 4, 2004 by Guest Quote Link to comment
miltenb Posted December 4, 2004 Share Posted December 4, 2004 Ik begin te zwammen... Quote Link to comment
Sanne Posted April 28, 2005 Author Share Posted April 28, 2005 Ik begin te zwammen... Is niet erg hoor. Het is vast één van je grootste charmes Quote Link to comment
mikezwet Posted July 16, 2005 Share Posted July 16, 2005 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.... Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.