أكاديمية الصقر للتدريب
موضوع بعنوان :سؤال انتشر كثير خااص بطرح التاريخ ولكن اطلب شي جديد فيه
الكاتب :محمود ابو الدهب


سؤال اليوم كثر سؤالة ولكن اليوم سيكون مختلف قليلا
عند طرح التاريخ وليكن تاريخ البداية كان 
28/12/1985
والنهاية كان
21/1/2018
لتحديد الفرق بالشهور والايام والسنين يمكن استخدام طرق عدة واكثرها ششعبية هى دالة datedif ولكن يثور التساؤل هنا 
عند استخدام datedif لحساب الايام "md" 
يعطى عدد الايام 24 يوم ولا خلاف على هذا الامر حيث انه بمجرد جمع 31 يوم من شهر واحد الى هو 31 يوم + 21 يوم الموجودين اصلا من 28 يكون الناتج = 24 يوم

ولكن سؤالى هنا هل من معادلة او كود فFunction بحيث انه يتعامل مع الشهور على اساس عند الجمع مع 21 يوم يجمع 30 يوم وليس 31 يوم  بحيث يكون الناتج وكأننا نحسبها يدويا بالورقة والقلم 
ويراعي الامر في الشهور والسنين ايضا

سؤال هام جدا جدا لعملى نظرا لاننا لا نجمع الا 30 يوم وليس على حسب الشهر المؤخوذ منه 


اتمنى يكون السؤال مفهوم 

تحياتى وتقديرى للجميع


وانا كنت اعتمد في الامر على Function لا اعرف صراحتا من كتبها وهى كالتالى
Function mas_date_diff(oldd As Date, newd As Date, frmat As String) As String
Dim years, months, days As Integer
years = Year(newd) - Year(oldd)
If Month(newd) < Month(oldd) Then
years = years - 1
months = (Month(newd) + 12) - Month(oldd)
Else
months = Month(newd) - Month(oldd)
End If
If Day(newd) < Day(oldd) Then
months = months - 1
days = (Day(DateSerial(Year(oldd), Month(oldd) + 1, 1) - 1) - Day(oldd)) + Day(newd)
Else
days = Day(newd) - Day(oldd)
End If
If months < 0 Then
months = 11
years = years - 1
End If
mas_date_diff = IIf(frmat = "y", Format(years, "00"), IIf(frmat = "m", Format(months, "00"), IIf(frmat = "d", Format(days, "00"), Format(years, "00") & " Years, " & Format(months, "00") & " Months, and " & Format(days, "00") & " Days ")))
End Function


ولكنها لا تؤدى الغرض فهل من احد عنده تعديل لها او واحده جديده 
واريد ان يرعاى فيها أيضا عند طرح الايام مثلا 1-1 لا يكتبه 0 بل تكتب 1 ومثال اخر 20-20 لا تكتب 0 بل 1 وهذا لان هذا ما نتطبقه عند تسويه المعاشات بحيث يحسب اليوم شهر لصاحب المعاش ونريد إعطائة اى ميزه ومنها تلك 
ومرفق ملف به توضيح للامر اكثر ارجوا الاهتمام والرد 
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب