وعليكم السلام ورحمة الله وبركاته
يوجد موديول يقوم بهذه العملية سواء في الاستعلامات او في النماذج
Option Compare Database
Option Explicit
Function CalcAgeY(vDate1 As Date, vdate2 As Date)
Dim vYears As Integer, vMonths As Integer, vDays As Integer
vMonths = DateDiff("m", vDate1, vdate2)
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
If vDays < 0 Then
vMonths = vMonths - 1
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
End If
vYears = vMonths \ 12
vMonths = vMonths Mod 12
CalcAgeY = vYears
End Function
Function CalcAgeM(vDate1 As Date, vdate2 As Date)
Dim vYears As Integer, vMonths As Integer, vDays As Integer
vMonths = DateDiff("m", vDate1, vdate2)
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
If vDays < 0 Then
vMonths = vMonths - 1
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
End If
vYears = vMonths \ 12
vMonths = vMonths Mod 12
CalcAgeM = vMonths
End Function
Function CalcAgeD(vDate1 As Date, vdate2 As Date) As String
Dim vYears As Integer, vMonths As Integer, vDays As Integer
vMonths = DateDiff("m", vDate1, vdate2)
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
If Day(vDate1) = 31 Then vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) - 1
If vDays < 0 Then
vMonths = vMonths - 1
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
End If
vYears = vMonths \ 12
vMonths = vMonths Mod 12
CalcAgeD = vDays
End Function
اليوم - الشهر - السنة
D : CalcAgeD([PDate];[EDate])
M : CalcAgeM([PDate];[EDate])
Y : CalcAgeY([PDate];[EDate])
Database4.rar
تحياتي