MyTetra Share
Делитесь знаниями!
Дата - Возраст на конкретную или текущую дату
19.07.2018
19:39
Раздел: VBA - Access - msa.polarcom.ru - 14 Преобразование Чисел и Дат


Дата - Возраст на конкретную или текущую дату

Public Function AgeByBirthDay(bdDate As Variant, Optional forDate As Variant = Null) As Integer

'es 06.12.2012

'Возвращает возраст на текущую дату (или на конкретную дату)

' при ошибке или пустом аргументе bdDate возвращает -1 (МИНУС ОДИН)

'Аргументы:

' bdDate - Дата Рождения

' forDate - Дата на которую рассчитать (по умолчанию = сегодня)

'--------------------------------------------------------------------------

On Error GoTo AgeByBirthDayErr

'Проверяем аргументы

If IsNull(forDate) Then forDate = Date


'Разница в годах между датой рождения и датой на которую

AgeByBirthDay = DateDiff("yyyy", bdDate, forDate)


'Вычитается один год, если в этом году дня рождения еще не было

If DateSerial(Year(forDate), Month(bdDate), Day(bdDate)) > forDate Then

AgeByBirthDay = AgeByBirthDay - 1

End If

AgeByBirthDayBye:

Exit Function

AgeByBirthDayErr:

Err.Clear

AgeByBirthDay = -1

Resume AgeByBirthDayBye

End Function




Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования