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

طلب مساعده عند تعارض تاريخ اجازه جديد مع تاريخ سابق


أبو نادر
إذهب إلى أفضل إجابة Solved by ابوخليل,

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

السلام عليكم

وضعت كود مهمته ان تم ادخال تاريخ جديد لإجازة لنفس الشخص ان لا تتعارض مع تاريخ لإجازة سابقه له

بمعنى لو تم ادخال تاريخ جديد وهذا التاريخ ضمن تاريخ البداية والنهاية لإجازة سابقة تخرج رساله وتشعره بالتعارض

 

ولكن ماش ... ما عرفت اصيغ الكود لدرجة اتي حسيت ان وده يخرج من الشاشه ويمسكني مع حلقي ويقول يااااخي انت اش تبغى بالزبط  :biggrin:

الكود في حدث بعد التحديث للمربع  Bd

 

ما استغني عن خبرتكم بارك الله فيكم

ejazat_hejri.rar

تم تعديل بواسطه أبو نادر
رابط هذا التعليق
شارك

ماش ما زبطت

ابغى اذا أدخلت تاريخ جديد لنفس الشخص يبحث في الجدول بين البداية والنهاية للاجازات السابقه له ... اذا موجود يتم التنبيه بتعارض التاريخ المدخل ويجب تغييره

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

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

 

سيدي العزيز أبو نادر :smile:

 

 

من تجربتي لبرامج الاجازات ، ولعدم حصول تكرار ، والأهم ، هو لسرعة البرنامج:

 

الجدول:

اسم او رقم الموظف ،

ترقيم الاجازة (سنوي) ،

تاريخ الاجازة ،

نوع الاجازة ،

ملاحظات ،

تم قطع الاجازة (نعم/لا) ، والقيمة الافتراضية يجب ان تكون صفر (يعني لا) .

 

النموذج:

ادخال التاريخ ، من و الى ،

عند الموافقة ، يكون هناك زر لتفكيك الاجازة الى ايام ، وحفظها في الجدول ،

زر امكانية تغيير قطع اجازة الموظف ، كذلك بين التاريخين ، وتحديث الجدول ،

والملاحظات ، إن وُجدت.

 

الاستعلام:

اسم او رقم الموظف ، وقد يكون بمعيار ،

تاريخ الاجازة ، والمعيار يكون بين تاريخين ،

تم قطع الاجازة ، والمعيار يكون صفر.

 

واذا اردت اضافة قسم الموظف ، فاعمل استعلام آخر ، واربط اسم او رقم الموظف بجدول الاقسام ،

اما الحقول المحسوبة مثل: اليوم ، فهذه تعملها في الاستعلام مباشرة ، ولا تُحفظ في الجدول.

 

الآن الموضوع سيكون في غاية السهولة ، والسرعة:smile:

 

في احد برامجي ، كان هناك اكثر من ثلاثين الف اجازة في الشهر ، وكُله مشى تمام :smile:

وهناك مَثل شهير في قواعد البيانات:

الحقول غالية ، والسجلات رخيصة:smile:

 

جعفر

تم تعديل بواسطه jjafferr
تم اضافة نوع الاجازة
  • Like 2
رابط هذا التعليق
شارك

استاذي القدير جعفروه

اشكرك على ردك وعلى هالمعلومات الطيبه  وتمنيت لو اخذت لفه على الكود المذكور لأني متأكد بنظره منك بتجيب راسه  :rol: لما تملكه من خبره واسعه ولأنك وحش :biggrin:

 

هذا وانا اخوك مثال للمشكله المراد حلها فقط والجدول لدي يحتوي على أمور حسب متطلبات عملي لمنح الإجازات سواءاً داخلية أو خارجية واعتقد بأنها تختلف من قطاع لآخر مع ثبات الأساسيات

 

وأما قطع الإجازة فكرت بها مسبقا بتعديل مدة الإجازة التي تمتع بها فعلياً فبل القطع والباقي سيضاف للرصيد السنوي

اعتمادي على الأكواد وليس الاستعلام

 

بارك الله فيك

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

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

 

للعلم ، هذه اول مرة اتعامل مع تاريخ هجري او تاريخ ام القرى:smile:

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

 

هذا الكود يقوم بالمطلوب ان شاء الله:

    Dim rst As DAO.Recordset
    'Set rst = CurrentDb.OpenRecordset("SELECT bedaya, modda FROM ejazat_main Where UmYear([bedaya]) = " & UmYear(Me.Bd) & " And [Num] = " & Me.ww)
    mySQL = "SELECT bedaya, modda"
    mySQL = mySQL & " FROM ejazat_main"
    mySQL = mySQL & " Where UmYear([bedaya]) = " & UmYear(Me.Bd)
    mySQL = mySQL & " And [Num] = " & Me.ww
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    
    For i = 1 To RC
        
        For j = 0 To rst!modda - 1
        
            Date_to_Test = UmDateAdd("d", j, UmCDate(rst!bedaya))
            'Debug.Print Date_to_Test
            'Debug.Print Date_to_Test & vbTab & UmCDate(Me.Bd) & vbTab & UmDateAdd("d", Me.Md, UmCDate(Me.Bd))
            If Date_to_Test >= UmCDate(Me.Bd) And Date_to_Test <= UmDateAdd("d", Me.Md, UmCDate(Me.Bd)) Then
                Dup = Dup & "Duplicate: " & Date_to_Test & vbCrLf
                
            End If
            
        Next j
        
        rst.MoveNext
    Next i
    
If Len(Dup & "") > 0 Then
        MsgBox Dup
        Cancel = True
        rst.Close: Set rst = Nothing      
        'MsgBox "عفواً .. توجد إجازة مسبقة بهذا التاريخ", vbInformation, ""
        Exit Sub
End If

.

واذا حصل على تاريخ مأخوذ مسبقا ، ستحصل على:

675.Clipboard01.jpg.3902a230a42ce69e93674b4e983f886b.jpg

 

جعفر

675.ejazat_hejri.mdb.zip

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

والله وحش الله يعطيك الف عافيه يا مبددددع

ولكن اخوي جعفر يقبل إضافة تاريخ بين البداية والنهاية لاي إجازة سابقة ... والمفروض ان لا يقبل

انت ليش شلت كود بعد التحديث للبداية ؟

ActiveControl = UmFormat(ActiveControl.Text, ActiveControl.Format)

 

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

منذ ساعه, أبو نادر said:

 

انت ليش شلت كود بعد التحديث للبداية ؟


ActiveControl = UmFormat(ActiveControl.Text, ActiveControl.Format)

 

 

اعتذر منك ، اخذت الكود بالكامل بالخطأ:blink:

تستطيع ان ترجع هذا السطر للحدث السابق:smile:

 

جعفر

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

  • أفضل إجابة

السلام عليكم

عندي وجهة نظر  لطريقة تنفيذ ابو نادر

لماذا  تحصر الشرط بين تاريخين ؟  

معلوم ان الموظف يأخذ إجازة ثم يأخذ بعدها إجازة وهكذا

فأرى ان يكفي  نبحث عن تاريخ نهاية آخر إجازة أو بمعنى آخر نبحث عن اعلى قيمة في عمود نهاية الاجازة

والشرط يكون : اي تاريخ اصغر  لا يقبل

هل وجهة النظر هذه معقولة ومقبولة ؟

 

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

في ‏٢٢‏/‏١٠‏/‏١٤٣٨ at 17:24, ابوخليل said:

 

 نبحث عن اعلى قيمة في عمود نهاية الاجازة

كيف صيغة البحث عن اعلا فيمه ؟ :blink:

 

وافترضت ان فيه مستخدم لم يسجل الإجاة الإدارية ( يوم او يومين ) حسب الظروف وتركها لوقت لاحق  وبعدها سجل إجازة إعتيادية وأراد ان يعود لتسجيل الإدارية

في هذه الحالية لن يستطيع حسب وجهة نظرك

لمثل هذه الحالات سأعمل مربع ( نعم/لا ) خاص بالمدير وأترك له حرية تحقيق الشرط أو تجاوزه  :wink2:

 

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

الحمد لله ربي هداني للحل مع  دالة  (DMax) وتمت العملية بسلاسة والفضل لله ثم لوجهة نظر أبو خليل والف شكر لأخوي جعفر لمساعدته

 

في المرفق بعد التعديل ولمن أراد الإستفادة

ejazat_hejri_Force date.rar

تم تعديل بواسطه أبو نادر
رابط هذا التعليق
شارك

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