Как рассчитать возраст от даты рождения в MS Access?

Как рассчитать текущий возраст человека на основе их даты рождения в MS Access?

Я пробовал =DateDiff("yyyy", [DOB], Date())

но это только возвращает, сколько им лет будет быть календарный год, поэтому если они не еще свой день рождения тогда это inacurate. Как вы можете рассчитать их возраст на основе того, что календарный день это?

27
задан ShemSeger
26.11.2022 9:18 Количество просмотров материала 2422
Распечатать страницу

1 ответ

есть функция, которую вы можете добавить в свой код, которая делает это легко для вас. Перейдите в Visual Basic, вставьте новый модуль и вставьте следующий код:

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

затем вы можете просто создать элемент управления и задайте источник управления =Age([name of the filed with the birth date]) и функция точно высчитает времена.


код предоставлен Allen Browne. http://allenbrowne.com/func-08.html

0
отвечен ShemSeger 2022-11-27 17:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх