wie kann ich bei microsoft access 2003 das alter berechnen lassen anhand des geburtsdatums?
Ich habe bei access 2003 eine tabelle wo bei jedem mitglied das alter anhand des geburtstdatums berechnet werden soll. später soll in einem entsprechenden bericht automatisch das alter eingetragen werden. Wie kann ich das am einfachsten realisieren? kennt sich hier jemand mit access aus?
2 Antworten

Die Funktion Datediff kannst Du dazu benutzen:
DateDiff-Funktion (Beispiel aus der Access-Hilfe):
In diesem Beispiel wird die DateDiff-Funktion verwendet, um die Anzahl von Tagen, die zwischen einem vorgegebenen Datum und dem heutigen Tag liegen, anzuzeigen.
Dim Datum1 As Date ' Variablen deklarieren. Dim Msg Datum1 = InputBox("Geben Sie ein Datum ein") Msg = "Tage von heute an: " & DateDiff("d", Now, Datum1)
MsgBox Msg
Wenn Du anstelle von "d" halt "y" (für Jahre) als Parameter mitgibst, sollte es so oder ähnlich klappen.

Ganz genau weiß ich das leider nicht mehr, wie SQL geht. Das ist bei mir schon 5 Jahre her, dass ich damit mal was gemacht habe.
Also vom logischen her ist es ja so, dass du das heutige Datum vom Geburtstag abziehen musst und dann von dem Ergebnis nur das Jahr nimmst. Wie genau das umgesetzt weiß ich nicht. Aber ich denke, dass du für diese "Alter"-Spalte eine Abfrage bauen musst wie zu Beispiel (Code und Pseudocode - bitte nicht so übernehmen):
SELECT <Geburtstag> FROM <Personentabelle> WHERE <Primärschlüssel> = <Wert> (oder so);
<Alter> = Date.Today (oder so) - <Geburtstag>;
INSERT <Alter> INTO <Personentabelle> WHERE <Primärschlüssel> = <Wert>;
Das ist so das, was ich noch behalten habe, aber ich gebe keine Garantie, dass es so geht. So hätte ich es erstmal probiert, aber da fehlt eben auch noch SQL-Code und muss nachgereicht werden.
Ich hoffe, dass das hilft.
Lg Spassbombe