اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تصحيح كود لحساب الفرق بين تاريخين


الردود الموصى بها

السلام عليكم

هذه هى الوظيفة التى تحسب الفرق بين تاريخين

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

تم تعديل بواسطه kemas
رابط هذا التعليق
شارك

جزيل الشكر لك أستاذ عبد الله

يبدو أن التواريخ تختلف فى العمل تبعا للأجهزة

للأسف أعطتنى نفس النتيجة

جزاك الله خيرا

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information