Sanne Geplaatst: 2 december 2004 Geplaatst: 2 december 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
Koen Van Hulle Geplaatst: 3 december 2004 Geplaatst: 3 december 2004 Als je de Get(currentdate) vervangt door Get(Currentdatestamp), dan weet je tevens hoe oud hij precies is in seconden. Koen Quote
miltenb Geplaatst: 4 december 2004 Geplaatst: 4 december 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
Sanne Geplaatst: 4 december 2004 Auteur Geplaatst: 4 december 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
miltenb Geplaatst: 4 december 2004 Geplaatst: 4 december 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
miltenb Geplaatst: 4 december 2004 Geplaatst: 4 december 2004 ik zou hem dus makkelijker korter kunnen maken met jouw eigen berekening. Joost PS. Dat leek met niet echt eerlijk. Quote
miltenb Geplaatst: 4 december 2004 Geplaatst: 4 december 2004 (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 ) 4 december 2004 aangepast door Gast Quote
Sanne Geplaatst: 28 april 2005 Auteur Geplaatst: 28 april 2005 Ik begin te zwammen... Is niet erg hoor. Het is vast één van je grootste charmes Quote
mikezwet Geplaatst: 16 juli 2005 Geplaatst: 16 juli 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
Aanbevolen berichten
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.