اذهب الي المحتوي
أوفيسنا

كود تاريخ شهرى وسنوى


jamal2080

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

السلام عليكم ورحمة الله وبركاتة

 

عندى كود vba خاص بالتاريخ عندما اختر الشهر الحالى مثل شهر فبراير يخرج من 1/2/2023 الى 31/2/2023

هذا هو كود :-

If [m] = "اليوم" Then
n1 = Date
n2 = Date
Else

End If
If [m] = "اسبوعي" Then
n1 = Date - 7
n2 = Date
Else

End If
If [m] = "الشهر الحالى" Then
[n1] = "1/" & month(Date) & "/" & year(Date)
[n2] = "31/" & month(Date) & "/" & year(Date)
Else
End If

If [m] = "الربع الأول" Then
[n1] = "1/1" & "/" & year(Date)
[n2] = "31/3" & "/" & year(Date)
Else
End If

If [m] = "نصف سنوى" Then
[n1] = "1/1" & "/" & year(Date)
[n2] = "30/6" & "/" & year(Date)
Else
End If

If [m] = "الربع الثالث" Then
[n1] = "1/1" & "/" & year(Date)
[n2] = "30/9" & "/" & year(Date)
Else
End If


If [m] = "سنوى" Then
[n1] = "1/1" & "/" & year(Date)
[n2] = "31/12" & "/" & year(Date)
Else
End If
frm_0.Requery
frm_1.Requery

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

الكود بعد التعديل:
 

Private Sub m_AfterUpdate()
    Select Case Me.m
        Case "اليوم"
            Me.n1 = Date
            Me.n2 = Date
        Case "اسبوعي"
            If Weekday(Date, vbSunday) = vbSunday Then
                Me.n1 = Date
            Else
                Me.n1 = Date - Weekday(Date, vbSunday) + 1
            End If
            Me.n2 = Me.n1 + 6
        Case "الشهر الحالي"
            Me.n1 = DateSerial(Year(Date), Month(Date) + 0, 1)
            Me.n2 = DateSerial(Year(Date), Month(Date) + 1, 0)
        Case "الربع الأول"
            Me.n1 = DateSerial(Year(Date), 1, 1)
            Me.n2 = DateSerial(Year(Date), 3, 31)
        Case "نصف سنوي"
            Me.n1 = DateSerial(Year(Date), 1, 1)
            Me.n2 = DateSerial(Year(Date), 6, 30)
        Case "الربع الثالث"
            Me.n1 = DateSerial(Year(Date), 1, 1)
            Me.n2 = DateSerial(Year(Date), 9, 30)
        Case "سنوي"
            Me.n1 = DateSerial(Year(Date), 1, 1)
            Me.n2 = DateSerial(Year(Date), 12, 31)
        Case Else
    End Select
End Sub

 

PeriodRange_01.accdb

تم تعديل بواسطه AbuuAhmed
  • Like 2
رابط هذا التعليق
شارك

41 دقائق مضت, AbuuAhmed said:

الكود بعد التعديل:

شكرا لك أستاذنا القدير أبو أحمد 🙂 

هذي الأكواد مهمة للحصول على الفترات المطلوبة في كثير من الأحيان ..

لكن بالنسبة للأرباع مو الأفضل أنه يكون بداية كل ربع هو اليوم اللي يتلي الربع اللي قبله ؟ 🙂 

 

يعني:

الربع الثاني 1/4

الربع الثالث 1/7

الربع الرابع 1/10

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

41 دقائق مضت, Moosak said:

لكن بالنسبة للأرباع مو الأفضل أنه يكون بداية كل ربع هو اليوم اللي يتلي الربع اللي قبله ؟ 🙂 

 

يعني:

الربع الثاني 1/4

الربع الثالث 1/7

الربع الرابع 1/10

شكرا لمرورك عزيزي ، كلامك صحيح إذا كان المطلوب تقرير ربعي/ربع سنوي ولكن عند تدقيق كود السائل يتضح أن المطلوب مختلف ، لاحظ أنه جعل البداية للكل 01/01 وكذلك للأسماء نصف سنوي بدلا من الربع الثاني وسنوي بدلا من الربع الرابع أو الأخير وكذلك أن السائل لم يطلب المساعدة إلا في نهاية الشهر الحالي ولم يشر إلى بقية المدد.

أنا قلت أضرب عصفورين بحجر واحد فنظمت له الكود شكلا وأصلحت له نهاية "الشهر الحالي" وفترة "أسبوعي" وربما هو يريدها آخر سبعة أيام مع أن حسبتهم ثمانية أيام، فلننتظر مراجعته.

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information