السلام عليكم ورحمة الله وبركاته
لدينا تاريخين فى الاستعلام date1 و date2 نريد حساب عدد الاسابيع و الشهور بينهما ولكن بشروط .
أولا من تاريخ 1-1-1990 حتى مثلا 1-1-2050 تنقسم الى ثلاث شرايح
1 - الشريحة الاولى الفترة ما بين تاريخ 1-1-1990 حتى 6-9-2016 يتم الحساب بينها بالاسبوع
2 - الشريحة الثانية ما بين تاريخ 7-9-2016 حتى 30-9-2020 يتم الحساب بينها بالشهر
3 - الشريحة الثالثة مابين 1-10-2020 حتى 1-1-2050 يتم الحساب بينها بالشهر
وتم عمل الكود ويعمل بشكل صحيح
ولكن هل يمكن تبسيط المعادلة الى الافضل
Option Compare Database
'11111111111111111111111111111111111111111111111111111111111111111111111111 الشريحة الأولي
Function checkDate1(sDate As Date, eDate As Date)
If sDate > #9/6/2016# Then
checkDate1 = 0
Else
If sDate >= #1/1/1990# And eDate <= #9/6/2016# Then
checkDate1 = DateDiff("ww", sDate, eDate)
ElseIf sDate >= #1/1/1990# And eDate > #9/6/2016# Then
checkDate1 = DateDiff("ww", sDate, #9/6/2016#)
End If
End If
End Function
'2222222222222222222222222222222222222222222222222222222222222222 الشريحة الثانية
Function checkDate2(sDate As Date, eDate As Date)
If sDate >= #9/30/2020# Then
checkDate2 = 0
Else
If sDate >= #1/1/1990# And eDate > #9/6/2016# Then
checkDate2 = DateDiff("m", #9/7/2016#, #9/30/2020#)
Else
checkDate2 = 0
End If
End If
End Function
'33333333333333333333333333333333333333333333333333333333333333333333333333 الشريحة الثالثة
Function checkDate3(sDate As Date, eDate As Date)
If sDate >= #1/1/1990# And eDate > #9/30/2020# Then
checkDate3 = DateDiff("m", #10/1/2020#, eDate)
Else
checkDate3 = 0
End If
End Function
كل سنه وانتم طيبون وبخير وصحة وسعادة
finish .mdb