Ga naar inhoud
  • 0

Geboortedatum


EricJ

Vraag

Geplaatst:

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 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Geplaatst:

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?

  • 0
Geplaatst:

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.

  • 0
Geplaatst:

Gelijk heb je: ik had dat over de hoofden ( :wink: ) gezien... Zonde eigenlijk, want "rekenen" met tekst is toch wel een van de echt knappe kanten van FileMaker.

  • 0
Geplaatst:

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??

  • 0
Geplaatst:

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

  • 0
Geplaatst:

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) :wink: !

  • 0
Geplaatst:

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]

  • 0
Geplaatst:

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

  • 0
Geplaatst:

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?)

  • 0
Geplaatst:

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.

  • 0
Geplaatst:

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

  • 0
Geplaatst:

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)

  • 0
Geplaatst:

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)))

  • 0
Geplaatst:
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é

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
Beantwoord deze vraag...

×   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...