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

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

قام بنشر

وعليكم السلام:smile:

 

تفضل

794.Clipboard01.jpg.a277a1061e86193822494bd7886ee025.jpg

.

هذه الوحدة النمطية الموجودة في Help الاكسس ، مع بعض التعديل

Option Compare Database
Option Explicit

Public Function YMDDif(sDate1, sDate2)

    'sdate1 earliest date sdate2 later

    Dim iYear As Integer
    Dim iMonth As Integer
    Dim iDay As Integer
    Dim dInterim1 As Date
    Dim D As Integer
    Dim M As Integer
    Dim Y As Integer

    iMonth = DateDiff("m", sDate1, sDate2)
    If Day(sDate1) > Day(sDate2) Then
        iMonth = iMonth - 1
    End If
    dInterim1 = DateAdd("m", iMonth, sDate1)
    iDay = DateDiff("d", dInterim1, sDate2)
    
    D = iDay
    M = iMonth Mod 12
    Y = iMonth \ 12
    
    YMDDif = CStr(Y) & " س/" & CStr(M) & " ش/" & CStr(D) & " ي"

End Function

Public Function YMDDif2(sDate1, sDate2)

    'sdate1 earliest date sdate2 later

    Dim iYear As Integer
    Dim iMonth As Integer
    Dim iDay As Integer
    Dim dInterim1 As Date
    Dim D As Integer
    Dim M As Integer
    Dim Y As Integer

    iMonth = DateDiff("m", sDate1, sDate2)
    If Day(sDate1) > Day(sDate2) Then
        iMonth = iMonth - 1
    End If
    dInterim1 = DateAdd("m", iMonth, sDate1)
    iDay = DateDiff("d", dInterim1, sDate2)
    
    D = iDay
    M = iMonth Mod 12
    Y = iMonth \ 12
    
    YMDDif2 = CStr(M) & " ش"

End Function

.

اما التقرير ، فيأخذ بياناته من هذا الحدث ويعطينا الفرق باليوم ، والشهر ، والسنة  (احذف السطر اللي ما تريده:smile:)

Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)

    Me.txtcount = DLookup("[التاريخ]", "[Query1]", "[Query1]![CountOfالتسلسل]=" & [نص128])
    Me.txtcounupgrade = DLookup("[التاريخ]", "[Query1]", "[Query1]![CountOfالتسلسل]=" & [نص130])
    Me.Months = YMDDif(Me.txtcount, Me.txtcounupgrade) & vbCrLf & _
                "او" & vbCrLf & _
                YMDDif2(Me.txtcount, Me.txtcounupgrade)
    
End Sub

 

جعفر

794.حساب عدد الاشهر بين تاريخين.accdb.zip

  • Like 3
قام بنشر
9 hours ago, jjafferr said:

وعليكم السلام:smile:

 

تفضل

794.Clipboard01.jpg.a277a1061e86193822494bd7886ee025.jpg

.

هذه الوحدة النمطية الموجودة في Help الاكسس ، مع بعض التعديل


Option Compare Database
Option Explicit

Public Function YMDDif(sDate1, sDate2)

    'sdate1 earliest date sdate2 later

    Dim iYear As Integer
    Dim iMonth As Integer
    Dim iDay As Integer
    Dim dInterim1 As Date
    Dim D As Integer
    Dim M As Integer
    Dim Y As Integer

    iMonth = DateDiff("m", sDate1, sDate2)
    If Day(sDate1) > Day(sDate2) Then
        iMonth = iMonth - 1
    End If
    dInterim1 = DateAdd("m", iMonth, sDate1)
    iDay = DateDiff("d", dInterim1, sDate2)
    
    D = iDay
    M = iMonth Mod 12
    Y = iMonth \ 12
    
    YMDDif = CStr(Y) & " س/" & CStr(M) & " ش/" & CStr(D) & " ي"

End Function

Public Function YMDDif2(sDate1, sDate2)

    'sdate1 earliest date sdate2 later

    Dim iYear As Integer
    Dim iMonth As Integer
    Dim iDay As Integer
    Dim dInterim1 As Date
    Dim D As Integer
    Dim M As Integer
    Dim Y As Integer

    iMonth = DateDiff("m", sDate1, sDate2)
    If Day(sDate1) > Day(sDate2) Then
        iMonth = iMonth - 1
    End If
    dInterim1 = DateAdd("m", iMonth, sDate1)
    iDay = DateDiff("d", dInterim1, sDate2)
    
    D = iDay
    M = iMonth Mod 12
    Y = iMonth \ 12
    
    YMDDif2 = CStr(M) & " ش"

End Function

.

اما التقرير ، فيأخذ بياناته من هذا الحدث ويعطينا الفرق باليوم ، والشهر ، والسنة  (احذف السطر اللي ما تريده:smile:)


Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)

    Me.txtcount = DLookup("[التاريخ]", "[Query1]", "[Query1]![CountOfالتسلسل]=" & [نص128])
    Me.txtcounupgrade = DLookup("[التاريخ]", "[Query1]", "[Query1]![CountOfالتسلسل]=" & [نص130])
    Me.Months = YMDDif(Me.txtcount, Me.txtcounupgrade) & vbCrLf & _
                "او" & vbCrLf & _
                YMDDif2(Me.txtcount, Me.txtcounupgrade)
    
End Sub

 

جعفر

794.حساب عدد الاشهر بين تاريخين.accdb.zip

مبدع كعادتك دائما استاذي الكريم جعفر

هل هناك طريقة لاختصار تلك الاكواد بحيث يكون الكود فانكشن داخل مربع نص 

وتقبل جزيل الشكر 🌹🌹

قام بنشر
8 دقائق مضت, hh88 said:

هل هناك طريقة لاختصار تلك الاكواد بحيث يكون الكود فانكشن داخل مربع نص 

:cool:

تفضل ، فرق الاشهر فقط

= datediff("m",Me.txtcount, Me.txtcounupgrade)

 

جعفر

  • Like 2
قام بنشر
1 hour ago, jjafferr said:

:cool:

تفضل ، فرق الاشهر فقط


= datediff("m",Me.txtcount, Me.txtcounupgrade)

 

جعفر

الله يجزاك كل خير حبيبنا وأستاذي الكريم جعفر 

الف شكر 

اسال الله ان يرزقك من واسع رزقه ويزيدنا علما 

🌹🌹🌹

  • 10 months later...
قام بنشر

بدون الحاجة الى وحدة نمطية او غير ذلك  توجد دالة اسمها datediff() هذه الدالة تطرح بين تاريخين وترجع قيمة معينة مثلا (شهر او يوم او سنة شاهد دروسها على اليوتيوب وهي دالة سهلة جدا 

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information