Altersberechnung von Personen?

P

Paddexdonautal

Aktives Mitglied
Thread Starter
Dabei seit
10.01.2005
Beiträge
110
Reaktionspunkte
0
Hallo, wer weiß, wie man in Filemaker das Alter von Personen bestimmen kann? Folgendes habe ich schon selbst herausgefunden:
Ein Feld mit fixem Datum (z.B. Geburtsdatum)
Ein Feld mit aktuellem Tagesdatum (durch automatische Eingabe)
Dann Formel von Feld mit aktuellem Datum - Feld mit Geburtsdatum.

Das Problem:
Das Ausgabeergebnis wird nur in Tagen angegeben. Z.B. ist jemand dann 5387 Tage alt. Kann man dies irgendwie in ein Ausgabeformat bringen, das etwa so aussieht: " 14 Jahre, 9 Monate, 7 Tage" ?
 
Hi Paddexdonautal,

wenn Du die Tage bereits errechnet hast, dann ist doch der nächste Schritt nicht schwer. Einfach die Tage durch 365,25 teilen (die 0,25 kommen vom Ausgleich der Schaltjahre), dann hast du das Alter in Jahren.
Wenn es noch genauer sein soll, dann muß eine Berechnungsformel hinterlegt werden, die die Restwerte bei der Teilung entsprechend aufbereitet....

MfG

ThoRo
 
Danke, dann ist der erste Schritt schon getan.
Aber wie hinterlege ich eine Formel, und wie muss diese aussehen?
(Bin kein Mathegenie).
 
Hi Paddexdonautal,

kannst Du noch kurz angeben mit welcher FileMaker Version Du arbeitest? Entsprechend sehen nämlich die Formeln anders aus....

Übrigens muß man dafür kein Mathegenie sein, etwas ausprobieren hilft meistens schon weiter...

MfG

ThoRo
 
Ich arbeite mit Filemaker 7.0v3 auf OSX 10.3.9
 
Hi Paddexdonautal,

hat ein bißchen gedauert... Und so ganz steht die Formel auch noch nicht, da bisher nur die Jahre und Monate einigermaßen korrekt errechnet werden. Für die Tagesanzahl fällt mir so auf die Schnlelle keine gute Formel ein..
Aber vielleicht bastelst Du ja weiter...

Hier mein derzeitiger Ansatz.

Vorhanden ist ein Zahlenfeld mit der Anzahl der Tage zwischen dem Geburtstag und einem eingetragenen Datum: Feld "AnzahlTage".

Das Formelfeld "Altersanzeige" hat dann folgende Formel:

"Alter: " & Ganzzahl(AnzahlTage / 365,25) & " Jahre, " & Ganzzahl((AnzahlTage - (Ganzzahl(AnzahlTage / 365,25)) * 365,25) / 30,3) & " Monate"

Wie gesagt, die Tagesberechnung fehlt noch komplett und die Monatsanzeige ist auch nur näherungsweise. Aber vielleicht kommst Du ja selbst weiter...

MfG

THoRo
 
Danke für den Tipp,
hatte bisher noch keine Gelegenheit an der Formel zu basteln, geschweige denn zu probieren (Stress), kann mich aber endlich in den nächsten Tagen mal drangeben.
 
Hallo,
bin durch "Suchen" auf den Thread gestoßen, hatte die gleiche Frage, ebenfalls für FM 7.0. Bin im Filemaker-Magazin auf folgende Lösung gestoßen (vielleicht ist's die gleich wie die obige, das blicke ich nicht):
Voraussetzung:
- Feld mit Geburtsdatum (heißt bei mir "GebDat")
- Feld für das Alter als Ziel der Berechnung (aktuelles Alter in Jahren)

ToDo:
- Für das Feld "Alter" die Option "automatische Berechnung" festlegen und dort als Formel eintragen (für "GebDat" den entsprechenden Feldnamen benutzen!):

Wenn( MonatZahl(Hole ( System Datum)) > MonatZahl(GebDat) ODER
( MonatZahl(Hole ( System Datum )) = MonatZahl( GebDat ) UND KalendertagZahl ( Hole( System Datum )) >= KalendertagZahl ( GebDat ));
Jahreszahl ( Hole( System Datum )) - Jahreszahl ( GebDat );
Jahreszahl ( Hole( System Datum )) - Jahreszahl ( GebDat )-1)

Funktioniert!
Eventuell ist ein weiterer Schritt notwendig, denn die Berechnung wird nur vorgenommen, wenn das Geburtsdatum neu eingetragen oder geändert wird, nicht bei schon vorhandenen Daten. Darum habe ich in ein Skript eingetragen:
- Skriptschritt "Ersetze alle Feldwerte", dort als Zielfeld das Feld "Alter" angeben und als Berechnungsformel die obige.

Falls das nicht für alle DAtensätze durchgeführt werden soll, weil es auch solche ohne eingetragenes Geburtsdatum gibt:
- "Suchen" mit "=" im Feld Geburtsdatum die Datensätze ohne ein solches auswählen.
- Auswahl umkehren, Ergebnis: Alle Datensätze mit eingetragenem Geburtsdatum
- dann Skript wie oben (Klar, das ginge auch über Menü "Datensätze / Feldinhalt ersetzen", das ist das gleiche - als Skript ist es halt für eventuelle Wiederholungen "konserviert").

Achtung: Bin kein FM-Experte, mag sein, dass da noch ein Haken drin ist oder das Ganze einfacher geht ... bin für alle Verbesserungen dankbar!
 
Hi ChristianSG,

Deine Lösung errechnet das Alter.

Wonach Paddexdonautal suchte - und was ihm bislang niemand zeigen konnte - ist die Berechnung der Differenz zwischen Geburtstag und aktuellem Datum, angezeigt in der Form "xx Jahre, xx Monate, xx Tage".

Gesucht ist also eine Umrechnungsformel, die aus der Anzahl von Tagen errechnet, wieviele Jahre, Monate und Tage das sind (bezogen auf den heutigen Tag).

Mir ist leider auch noch keine "gute" Lösung dafür eingefallen....

MfG

ThoRo
 
Danke ... ach dumm, da hab ich nicht richtig hingeguckt ... nur mit meinem Focus halt :cool: ... interessantes Problem, jetzt hab ich wirklich was zum Knobeln!
 
Ich kenne zwar das Programm nicht, aber eine Formel dafür müsste so in etwa aussehen:

Jahre: Tage/365,25
Monate: (tage/365,25 - Jahre)*365,25 /30.3 nur den Wert vor dem Komma anzeigen
Tage: (((tage/365,25 - Jahre)*365,25 /30.3)-Monate)*30,3 runden

Wobei eine solche Formel auf kurze Zeiträume ungenauer wird... da ist die Toleranz für Schaltjahre halt kleiner


Beispiel es sind 2 Jahre 2 Monate und 3 Tage vergangen: 794 Tage

Jahre: 794:365,25 = 2,17385352498 -> 2 Jahre
Monate: 2,17385352498 -2 = 0,17385352498 *365,25 = 63,50000000625 /30,3= 2,09570957116 -> 2 Monate
Tage: 2,09570957116 -2 = 0,09570957116 * 30,3 = 2,90000000615 gerundet 3 Tage
 
Zuletzt bearbeitet:
Zurück
Oben Unten