วันอังคารที่ 8 มกราคม พ.ศ. 2556

ตัวอย่างโค้ดการคำนวนอายุด้วย vba ใน MsAccess 2010

เป็นการคำนวนแบบแยกเป็น ปี เดือน วัน

'คำนวนปี

If (Month(DATE) = Month(Me.BIRTH_DATE) And Day(Me.BIRTH_DATE) < Day(DATE)) Or (Month(DATE) < Month(Me.BIRTH_DATE)) Then
       Me.text_y = DateDiff("yyyy", [BIRTH_DATE], DATE) - 1
Else
   Me.text_y = DateDiff("yyyy", [BIRTH_DATE], DATE)
End If
'คำนวนเดือน
If Month(DATE) < Month(Me.BIRTH_DATE) or  Month(DATE) = Month(Me.BIRTH_DATE) Then
            If Day(DATE) < Day(Me.BIRTH_DATE) Then
                 Me.text_m = (12 - Month(Me.BIRTH_DATE)) + Month(DATE) - 1
            Else
               Me.text_m = (12 - Month(Me.BIRTH_DATE)) + Month(DATE)
            End If
Else
        If Day(DATE) < Day(Me.BIRTH_DATE) Then
                 Me.text_m = (Month(DATE) - Month(Me.BIRTH_DATE)) - 1
            Else
               Me.text_m = (Month(DATE) - Month(Me.BIRTH_DATE))
        End If
    End If
'คำนวนวัน
If Day(DATE) < Day(Me.BIRTH_DATE) Then
   Me.text_d = (Day(DateSerial(Year(DATE), Month(DATE), 0)) - Day(Me.BIRTH_DATE)) + Day(DATE)
   Else
   Me.text_d = Day(DATE) - Day(Me.BIRTH_DATE)
End If