Hallo Christian
Dazu gibt es in Access die DateDiff()-Funktion
Syntax:
VariantLong = DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
Dabei ist:
interval Ein String mit der Angabe in welchen Intervall gezählt wird, z.B. "yyyy" für die Anzahl Jahre.
date1, date2 Die beiden Datumswerte zum Subtrahieren, wobei einer in Deinem Fall der aktuelle Zeitwert ist, der durch die Funktion now() zurücklgeliefert wird.
firstdayofweek, firstweekofyear sind optionale VB-Konstanten. Mehr dazu in der Access-Hilfe.
Die DateDiff-Funktion kannst Du direkt in einer Abfrage oder einem Formular verwenden, sie kann aber auch im VB-Code verwendet werden.
In einem Formularfeld würdest Du z.B. den folgenden Code in die Eigenschaft Steuerelementinhalt eintragen:
=DateDiff("yyyy"; [dtmGeburtDat]; now() )
Als Ergebnis erhälst Du die Anzahl Jahre, die zwischen dem Geburtsdatum und Heute liegen.
Wenn jedoch das Geburtsdatum 31.12.1999 ist und heute der 1.1.2000 wäre würde Dir die Funktion das Ergebnis 1 zurückgeben.
Verwendest Du die Funktion im VB-Code, musst Du die Semikolons durch Kommas ersetzen.
varAlter = DateDiff("yyyy", [dtmGeburtDat], now() )
Grüsse
Tom