Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datumberechnung mit Access





Frage

Wie kann ich ein Abfragefeld in Access erstellen, das mir das aktuelle Alter einer Person liefert. Vorhanden ist ein Feld "Geburtstag" in der Formatierung tt.mm.jjjj. Ausgabe soll das aktelle Alter sein, nicht das im Laufe des Jahres erreichte Alter. Gibt es eine Lösung

Antwort 1 von pelle

Hallo hfechner,

wie wäre es damit?:

Alter: Jahr(Jetzt())-Jahr([Geburtstag])

gruss
pelle

Antwort 2 von Marie

ja Pelle, dann hat er aber nur das Jahr, das er ja ausdrücklich nicht wollte.

Hm, müsstest halt zuerst vergleichen, wenn Monat datum heute > Monat Geburtsdatum, dann Jahr(Jetzt())-Jahr([Geburtstag])
else Jahr(Jetzt())-(Jahr([Geburtstag])+1)
und wenn Du ganz genau sein willst musst Du noch bei gleichem Monat entsprechend den Tag vergleichen :((

Wahrscheinlich geht es aber einfacher.

Gruß Marie


Antwort 3 von oliver V

Hallo

versuchs mal mit:
=DatDiff("jjjj";[Geburtstag];Datum())

müsste klappen

Gruß
oliver



Antwort 4 von hfechner

Geht leider nicht.
Die nach dem heutigen Tag Geburtstag haben sind alle 1 Jahr zu alt.
Wenn ich (Datum()-[gebtag])/365 nehme komme ich auf eine richtige Zahl mit vielen Nachkommastellen, kann aber nicht abrunden ( statt 52,629433 52)


Antwort 5 von oliver V

Hallo hfechner,

habe hier die Lösung für dich:

=Wenn(DatSeriell(Jahr(Datum());Monat([Geburtstag]);Tag([Geburtstag]))>=Datum();(DatDiff("jjjj";[Geburtstag];Datum())-1);(DatDiff("jjjj";[Geburtstag];Datum())))

diesmal klappt es !

Gruß
oliver

Antwort 6 von hfechner

Hallo oliver,
Es funktioniert. Vielen Dank. Ich habe nur einen sehr umständlichen Weg mit mehreren Schritten und dann auch nicht tagesgenau gefunden.
Deine Lösung ist o. k.

Gruß

hfechner

Antwort 7 von PotzBlitz

Hallo hfechner,

vielleicht noch ein kleiner Nachtrag. Wenn (Datum()-[gebtag])/365 bis auf die überflüssigen Nachkommastellen funktioniert hatte, dann schneide sie doch einfach mit der Int()-Funktion (bzw. Fix()-Funktion) ab:

Int((Datum()-[gebtag])/365)

Oliver's Lösung erfüllt zwar im Endeffekt den gleichen Zweck, aber die Übersichtlichkeit sollte man als Argument nicht unterschätzen.

Gruss
PotzBlitz