Christian: (MS ACCESS) Alter berechnen

Hallo!

Ich habe folgendes Problem:

Ich möchte in MS Access das Alter einer Person bestimmen und in einem Bericht ausgeben. Das Geburtsdatum liegt mir vor TTMMJJJJ.

Dies müsste ich wohl mit VB realisieren - habe aber keinen Plan davon!

Kann mir jemand dabei helfen? Gibt es schon fertigen Code dafür?

Kann mir jemand ein gutes online-VB-Manual empfehlen?

Danke!

Christian

  1. Kann mir jemand ein gutes online-VB-Manual empfehlen?

    http://www.microsoft.com/GERMANY/msdn/vbasic/

  2. Moin Christian!

    Surf mal zu <www.microsys-kramer.de>; Da gibs ein Access-Forum.
    Sowas wie SelfAccess gibs meines Wissens nicht. Mal abgesehen davon brauchst du ein online-VBA-Manual und kein online-VB-Manual (Will ja nicht klugscheißen aber unter Access bringt dir ein VB-Manual nichts, weil du da mit VBA (Visual-Basic-for-Applications) programmierst.)

    Gruß
    Martin

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