EricJ Posted December 19, 2002 Posted December 19, 2002 Best Forum, Kan iemand mij vertellen hoe ik een leeftijd kan laten uitrekenen n.a.v. een ingevulde geboortedatum? Ik had (dacht ik) een oplossing gevonden maar deze is niet 100% zuiver. (Berekening: (datum vandaag - geboortedatum) / 365) Alvast bedankt Quote
0 AvD Posted December 19, 2002 Posted December 19, 2002 Volgens Don Wieland zou het met de hiernavolgende formule moeten gaan. Het resultaat van je calculatie is tekst, en drukt de leeftijd uit in jaren, maanden en dagen. We noemen dit calculatieveld Leeftijd. Leeftijd = (Year(Status(CurrentDate)) - Year(DatumGeboorte) - If(Status(CurrentDate) < Date(Month(DatumGeboorte); Day(DatumGeboorte); Year(Status(CurrentDate))); 1; 0)) & " Jaren; " & (Mod(Month(Status(CurrentDate)) - Month(DatumGeboorte) + 12 - If(Day(Status(CurrentDate)) < Day(DatumGeboorte); 1; 0); 12)) & " Maanden; " & (Status(CurrentDate) - Date(Month(Status(CurrentDate)) - (Day(DatumGeboorte) > Day(Status(CurrentDate))); Day(DatumGeboorte); Year(Status(CurrentDate)))) & " Dagen" Cut and Paste doet wonderen, zegt Wieland. Gelijk heeft ie! PS Ik heb wel de moeite genomen om in de archieven te duiken, maar niet om de formule uit te testen. Laat je iets weten? Quote
0 JeanWM Posted December 20, 2002 Posted December 20, 2002 Mag ik iets toevoegen aan jouw formule André ? Ik voeg altijd een If statement bij de 'jaren', 'maanden' en 'dagen'. Als 'jaren' = 1,"jaar","jaren".enz. voor manden en dagen. Als het resultaat 1 is, geeft dit de aanduiding in het enkelvoud. Ik heb die opmerking ooit gekregen, en in feite was die terecht. Het is een kleine moeite, en het oogt leuker. Quote
0 AvD Posted December 20, 2002 Posted December 20, 2002 Gelijk heb je: ik had dat over de hoofden ( ) gezien... Zonde eigenlijk, want "rekenen" met tekst is toch wel een van de echt knappe kanten van FileMaker. Quote
0 EricJ Posted December 20, 2002 Author Posted December 20, 2002 De geopperde oplossing voor het berekenen van de geboortedatum werkt bij mij helaas niet. Ik krijg een foutmelding bij het plakken van de berekening. Filemaker herkent het veld Current Date niet. Dit wilde ik oplossen door Today te gebruiken maar ook dit werkt niet , helaas... Hier mijn huidige berekening (niet werkend dus) inclusief de nette oplossing van jaar, jaren etc. Wie ziet de fout?? Quote
0 EricJ Posted December 20, 2002 Author Posted December 20, 2002 foutje! hier issie dan (de niet werkende): (Year(Status(Today)) - Year(DatumGeboorte) - If(Status(Today) < Date(Month(DatumGeboorte); Day(DatumGeboorte); Year(Status(Today))); 1; 0)) & "Jaar" ; "Jaren" & (Mod(Month(Status(Today)) - Month(DatumGeboorte) + 12 - If(Day(Status(Today)) < Day(DatumGeboorte); 1; 0); 12)) & "Maand" ; "Maanden" & (Status(Today) - Date(Month(Status(Today)) - (Day(DatumGeboorte) > Day(Status(Today))); Day(DatumGeboorte); Year(Status(Today)))) & "Dag" ; "Dagen" groet, Eric Quote
0 AvD Posted December 21, 2002 Posted December 21, 2002 Helaas is er nu weinig tijd om alles ten gronde te testen (de vraag is ook gepost rond middernacht...). Toch even dit: CurrentDate is helemaal geen veld, maar een deel van de naam van een statusfunctie, nl. Status(CurrentDate). Het zou best kunnen dat deze statusfunctie niet herkend wordt in een Nederlandstalige FileMaker. In dat geval moet je opzoeken hoe dat "ding" daar heet. Daarna nog dit: Status(Today) bestaat niet, en kan dus ook niet werken. Today bestaat wel, natuurlijk. Tenslotte: het zou me sterk verwonderen indien een formule van Wieland niet correct zou functioneren. Good night, sleep tight en nu naar bed (en gij ook, Konkel Noen) ! Quote
0 JeanWM Posted December 21, 2002 Posted December 21, 2002 Dit is wat ik ervan maak/gebruik - even zonder de if statement voor enkelvoud of/en meervoud... copy en paste doet inderdaad wonderen.... (Year(Status(Today)) - Year(DatumGeboorte) – NumToText(Year(Today) - Year(dateBirth) - If(Status(Today) < Date(Month(DatumGeboorte); Day(DatumGeboorte); If(Today< Date(Month(dateBirth); Day(dateBirth); Year(Status(Today))); 1; 0)) & "Jaar" ; "Jaren" & Year(Today)); 1; 0)) & " Jaren, " & (Mod(Month(Status(Today)) - Month(DatumGeboorte) + 12 – NumToText(Mod(Month(Today) - Month(dateBirth) + 12 - If(Day(Status(Today)) < Day(DatumGeboorte); 1; 0); 12)) & "Maand" ; "Maanden" & If(Day(Today) < Day(dateBirth); 1; 0); 12)) & " maanden, " & (Status(Today) - Date(Month(Status(Today)) - (Day(DatumGeboorte) > Day(Status(Today))); Day(DatumGeboorte); Year(Status(Today)))) & "Dag" ; "Dagen" NumToText(Day(Today) - Day(dateBirth) + If(Day(Today) >= Day(dateBirth); 0; If(Day(Today- Day(Today)) < Day(dateBirth); Day(dateBirth); Day(Today- Day(Today))))) & " dagen" [/i] Quote
0 JeanWM Posted December 22, 2002 Posted December 22, 2002 Euh... bij mij wel.... Gezien de techniek van copy and paste..... Quote
0 EricJ Posted December 22, 2002 Author Posted December 22, 2002 Forum, Hartstikke bedankt voor de hulp van iedereen. De formule werkt bij mij nu ook. Alleen de volgende opmerking: In de Nederlandstalige FileMaker moet (Status(Today) vervangen worden voor: (Status(HuidigeDatum) Groeten, Eric Quote
0 rgaros Posted December 22, 2002 Posted December 22, 2002 Ik heb ooit eens een prototype gemaakt dat geheel anders loopt dan de door anderen gegevens berekeningen. De basis was om de datum en tijd als getal van de huidige datum af te trekken en terug te rekenen naar dag, maand en jaar. Daarbij werd het jaar de leeftijd. Overigens moet ik opmerken dat het berekenen van het aantal dagen wat on zinnig is als je ook het aantal maanden berekend. De lengte van de maanden verschilt immers. In stamboomprogramma's wordt vaak alleen met jaren en maanden gewerkt. Prototype bestand op aanvraag beschikbaar. (Kan ik eigenlijk een bestand bijsluiten?) Quote
0 Peter Wagemans Posted December 22, 2002 Posted December 22, 2002 Hoi René (Kan ik eigenlijk een bestand bijsluiten?)Nee, maar je kan wel een URL in je bericht zetten, naar een plekje dat je voorziet voor dit soort dingen.Ik weet het, het is niet echt ideaal, maar ik heb op het ogenblik nog geen goeie oplossing hiervoor. Quote
0 De Foemper Posted December 23, 2002 Posted December 23, 2002 Ik weet het, het is niet echt ideaal, maar ik heb op het ogenblik nog geen goeie oplossing hiervoor. Zou het een belemmering zijn voor de Clarify-gebruikers als we het zo doen? - invitation only (dwz, als je genoeg drank opstuurt naar de Foemper mag je er in) - ander id en paswoord dan op het forum zelf. Indien niet, dan steek ik dat wel ineen. Admin, is dit een poll waard? De Foemper Quote
0 Eef Posted December 26, 2002 Posted December 26, 2002 Ik gebruik de volgende simpele formule, welke volgens mij altijd werkt If(DayofYear(Geboortedatum) <= DayofYear(Today) ; Year(Today) - Year(Geboortedatum); (Year(Today) - Year(Geboortedatum)) - 1) Quote
0 rgaros Posted December 26, 2002 Posted December 26, 2002 Er was sprake dat de leeftijd tot op de dag nauwkeurig moest zijn. Zoek het verschil Year(Status(CurrentDate)) - Year(Geboorte Datum) - (DayofYear(Geboorte Datum) > DayofYear(Status(CurrentDate))) Quote
0 Eef Posted December 26, 2002 Posted December 26, 2002 Hoi rgaros, Ik had iets te snel gereageerd, zonder echt goed te lezen waar het om ging... foutje. Groet, Eef Quote
0 rgaros Posted December 26, 2002 Posted December 26, 2002 Hoi rgaros, Ik had iets te snel gereageerd, zonder echt goed te lezen waar het om ging... foutje. Groet, Eef Ik vind het (ook?) weinig zinvol om dagen te berekenen, tot maanden is wat mij betreft OK. Zie betoog elders. Heb je wel het verschil gevonden tussen onze berekeningen? René Quote
Question
EricJ
Best Forum,
Kan iemand mij vertellen hoe ik een leeftijd kan laten uitrekenen n.a.v. een ingevulde geboortedatum?
Ik had (dacht ik) een oplossing gevonden maar deze is niet 100% zuiver. (Berekening: (datum vandaag - geboortedatum) / 365)
Alvast bedankt
17 answers to this question
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.