Wie berechnet man das Alter ab einem Geburtsdatum in MS Access?

0

Wie berechnet man das aktuelle Alter einer Person anhand ihres Geburtsdatums in MS Access?

ich habe es versucht =DateDiff("yyyy", [DOB], Date())

Aber das gibt nur wieder, wie alt sie in diesem Kalenderjahr sein werden. Wenn sie also noch keinen Geburtstag hatten, ist es ungenau. Wie können Sie ihr Alter basierend auf dem aktuellen Kalendertag berechnen?

ShemSeger
quelle

Antworten:

0

Es gibt eine Funktion, die Sie Ihrem Code hinzufügen können, die dies einfach für Sie erledigt. Wechseln Sie zu Visual Basic, fügen Sie ein neues Modul ein, und fügen Sie dann den folgenden Code ein:

Function Age(varDOB As Variant, Optional varAsOf As Variant) As Variant
    'Purpose:   Return the Age in years.
    'Arguments: varDOB = Date Of Birth
    '           varAsOf = the date to calculate the age at, or today if missing.
    'Return:    Whole number of years.
    Dim dtDOB As Date
    Dim dtAsOf As Date
    Dim dtBDay As Date  'Birthday in the year of calculation.

    Age = Null          'Initialize to Null

    'Validate parameters
    If IsDate(varDOB) Then
        dtDOB = varDOB

        If Not IsDate(varAsOf) Then  'Date to calculate age from.
            dtAsOf = Date
        Else
            dtAsOf = varAsOf
        End If

        If dtAsOf >= dtDOB Then      'Calculate only if it's after person was born.
            dtBDay = DateSerial(Year(dtAsOf), Month(dtDOB), Day(dtDOB))
            Age = DateDiff("yyyy", dtDOB, dtAsOf) + (dtBDay > dtAsOf)
        End If
    End If
End Function

Sie können dann einfach ein Steuerelement erstellen und die Steuerquelle auf einstellen, =Age([name of the filed with the birth date])und die Funktion berechnet das Alter genau.


Code zur Verfügung gestellt von Allen Browne. http://allenbrowne.com/func-08.html

ShemSeger
quelle