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

طلب للتعديل على كود (بداية ونهاية الشهر بناءا على قيمه (رقم)


إذهب إلى أفضل إجابة Solved by Moosak,

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

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

بعد اذن حضراتكم 

طلب للتعديل على كود (بداية ونهاية الشهر بناءا على قيمه حقل (رقم) 

 

QDbGXdO.png

 

الكود 

If Me.txtMonthNo >= 12 Then
MsgBox "ان الاشهر السنه هي 12 شهر لا يمكن ان يكون اكثر من هذا", vbCritical, "خطأ"
Me.txtMonthNo = 12
Exit Sub
Else
Me.txtMonthNo = Me.txtMonthNo + 1
Me.txtdate1 = DateSerial(Year(Date), Month(txtMonthNo), 1)
Me.txtdate2 = DateSerial(Year(Date), Month(txtMonthNo) + 1, 0)
Me.Requery
End If
End Sub

 

ForDate.accdb

تم تعديل بواسطه عمر ضاحى
اضافة ملف مرفق
رابط هذا التعليق
شارك

  • أفضل إجابة

تفضل أخي عمر .. هذا هو الكود مع إضافة روتين منفصل لحساب أول وآخر الشهر ( تم التعديل على الكود الخاص بك ) 🙂 :

Private Sub cmdTMNOMins_Click()
If Me.txtMonthNo <= 1 Then
MsgBox "ان اقل شهر فى  السنه هو شهر 1 (يناير) لا يمكن ان يكون اقل من هذا", vbCritical, "خطأ"
Me.txtMonthNo = 1
Exit Sub
Else
Me.txtMonthNo = Me.txtMonthNo - 1
firstAndLastDay Me.txtMonthNo
End If
End Sub

Private Sub cmdTMNOPlas_Click()
If Me.txtMonthNo >= 12 Then
MsgBox "ان الاشهر السنه هي 12 شهر لا يمكن ان يكون اكثر من هذا", vbCritical, "خطأ"
Me.txtMonthNo = 12
Exit Sub
Else
Me.txtMonthNo = Me.txtMonthNo + 1
firstAndLastDay Me.txtMonthNo
End If
End Sub

Private Sub firstAndLastDay(MonthNum As Integer)
Me.txtdate1 = DateSerial(Year(Date), MonthNum, 1)
Me.txtdate2 = DateSerial(Year(Date), MonthNum + 1, 0)
End Sub

 

المرفق:

ForDate.accdb

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

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

هذا هو الكود مع إضافة روتين منفصل

السلام عليكم اخوي موسى 🙂

 

انا ، وعلشان الوضوح اني انادي دالة :

بدل
firstAndLastDay Me.txtMonthNo


استعمل
call firstAndLastDay (Me.txtMonthNo)

 

حعفر

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

5 دقائق مضت, jjafferr said:

السلام عليكم اخوي موسى 🙂

 

انا ، وعلشان الوضوح اني انادي دالة

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

جزاك الله خيراً .. وإحساناً .. وأجرا ..🌹😊

هل الصياغة السابقة تؤثر على الأداء ؟

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

انت ما سامع ان العين تعشق قبل القلب 🙂

لهذا السبب ، انا كمبرمج بدل ان اقرأ تفاصيل كل سطر في الكود ، هناك دلالات تخلي الحاسة السابعة تشتغل ، وبنظرة سريعة اقدر اميز كود عن كود ، لذا هاي احدها اللي تخليني على الطاير اعرف معناها 🙂

 

لا تؤثر على الاداء 🙂

 

جعفر

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

2 ساعات مضت, Moosak said:

تفضل أخي عمر .. هذا هو الكود مع إضافة روتين منفصل لحساب أول وآخر الشهر ( تم التعديل على الكود الخاص بك ) 🙂 :

Private Sub cmdTMNOMins_Click()
If Me.txtMonthNo <= 1 Then
MsgBox "ان اقل شهر فى  السنه هو شهر 1 (يناير) لا يمكن ان يكون اقل من هذا", vbCritical, "خطأ"
Me.txtMonthNo = 1
Exit Sub
Else
Me.txtMonthNo = Me.txtMonthNo - 1
firstAndLastDay Me.txtMonthNo
End If
End Sub

Private Sub cmdTMNOPlas_Click()
If Me.txtMonthNo >= 12 Then
MsgBox "ان الاشهر السنه هي 12 شهر لا يمكن ان يكون اكثر من هذا", vbCritical, "خطأ"
Me.txtMonthNo = 12
Exit Sub
Else
Me.txtMonthNo = Me.txtMonthNo + 1
firstAndLastDay Me.txtMonthNo
End If
End Sub

Private Sub firstAndLastDay(MonthNum As Integer)
Me.txtdate1 = DateSerial(Year(Date), MonthNum, 1)
Me.txtdate2 = DateSerial(Year(Date), MonthNum + 1, 0)
End Sub

 

المرفق:

ForDate.accdb 460 kB · 3 downloads

باشكر حضرتك على الحل 

وجزاك الله عنا كل خير

1 ساعه مضت, jjafferr said:

السلام عليكم اخوي موسى 🙂

 

انا ، وعلشان الوضوح اني انادي دالة :

بدل
firstAndLastDay Me.txtMonthNo


استعمل
call firstAndLastDay (Me.txtMonthNo)

 

حعفر

هذا شرف لى مرور حضرتك هنا

بارك الله لك على الاضافه

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

4 ساعات مضت, jjafferr said:

انت ما سامع ان العين تعشق قبل القلب 🙂

ولعله الحب من أول نظرة عامل عمايله معاك 😂

3 ساعات مضت, عمر ضاحى said:

باشكر حضرتك على الحل 

وجزاك الله عنا كل خير

العفو حبيبنا .. 🌹

اللهم آمين وإياكم .. 🤲

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

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

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



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

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

Important Information