CISA FotoGallery

Statistiche

Tot. visite contenuti : 928180
Home Articoli tecnici Moduli Calcolo dell'Età in Anni e/o Mesi

Calcolo dell'Età in Anni e/o Mesi

'Tratto da Articolo Microsoft Knowledge Base - 210522

'==========================================================
' General Declaration
'==========================================================

'*************************************************************
' FUNCTION NAME: Age()
'
' PURPOSE:
' Calculates age in years from a specified date to today's date.
'
' INPUT PARAMETERS:
' StartDate: The beginning date (for example, a birth date).
'
' RETURN
' Age in years.
'
'*************************************************************
Function Age (varBirthDate As Variant) As Integer
    Dim
varAge As Variant
    If IsNull
(varBirthdate) then Age = 0: Exit Function
    
varAge = DateDiff("yyyy", varBirthDate, Now)
    If Date < DateSerial(Year(Now), Month(varBirthDate), _
            Day(varBirthDate)) Then
            
varAge = varAge - 1
    End If
    
Age = CInt(varAge)
End Function

'*************************************************************
' FUNCTION NAME: AgeMonths()
'
' PURPOSE:
' Compliments the Age() function by calculating the number of months
' that have expired since the last month supplied by the specified date.
' If the specified date is a birthday, the function returns the number of
' months since the last birthday.
'
' INPUT PARAMETERS:
' StartDate: The beginning date (for example, a birthday).
'
' RETURN
' Months since the last birthday.
'*************************************************************
Function AgeMonths(ByVal StartDate As String) As Integer
    Dim
tAge As Double
    
tAge = (DateDiff("m", StartDate, Now))
    If (DatePart("d", StartDate) > DatePart("d", Now)) Then
        
tAge = tAge - 1
    End If
    If
tAge < 0 Then
        
tAge = tAge + 1
    End If
    
AgeMonths = CInt(tAge Mod 12)
End Function