السلام عليكم
هذه هى الوظيفة التى تحسب الفرق بين تاريخين
Function CalcAgeD(vDate1 As Date, vdate2 As Date)
Dim vYears As Integer, vMonths As Integer, vDays As Integer, aa 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
CalcAgeD = vDays
End Function
و هى تعمل بشكل رائع
لولا خطأ بسيط
عندما تكون الأيام فى التاريخ الأقدم = 31
و الأيام فى التاريخ الأحدث = 1
تعطى فارق الأيام = 1
و الصواب = صفر
ولو كانت الأيام فى التاريخ الأقدم = 30
و الأيام فى الأحدث = 1
تعطى فارق الأيام = 1 أيضا و هذا صحيح
كيف يمكن تعديل ذلك
مرفق الملف للتجربة و إبداء الرأى
حساب السن فى أول أكتوبر.rar