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

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


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

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

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

الاجازة الاعتيادية  للمعلمين:
 -  معلم , معلم مساعد , معلم اول تكون مدة الاجازة 30 يوم
- معلم اول ( أ ) تكون مدة الاجازة 35 يوم 
- معلم خبير تكون مدة الاجازة 40 يوم
-  كبير معلمين تكون مدة الاجازة 45 يوم
الاجازة الاعتيادية لغير المعلمين:
- للجدد بعد 6 شهور مدة الاجازة 15 يوم
- من قضي سنه كاملة مدة الاجازة 21 يوم 
- من قضي 10 سنوات مدة الاجازة 30 يوم
- من تخطي 50 سنة مدة الاجازة 45 يوم

شكرا لكم وفى انتظار الابدعات التى تعودها منكم مرفق الملف ولكم تحياتى

حضور وانصراف.rar

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

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

 

اولا قمت بتعديل في برنامجك ، وعملت جداول كالتالي:

هذا الجدول لا علاقة له بموضوعك ، ولكن من الافضل ان تجعل القيم المتغيره في جدول مستقل ، ولا تجعله في Dlookup الجدول ،

لأن المستخدم يستطيع ان يضيف القيم في الجدول ببساطة وبدون تدخل المبرمج في اضافة/تعديل اي قيم

476.Clipboard02.jpg

.

والان الى موضوعك:

تم اضافة تاريخ التوظيف مع بيانات الموظفين ،

476.Clipboard03.jpg

.

اسماء الوظائف تم عزلها الى جدول مستقل ، وامام كل وظيفة عدد ايام الاجازة المسموح له ،

واما الاجازات التي تعتمد على تاريخ التوظيف ، فنترك المدة فاضية

476.Clipboard01.jpg

.

عملنا الاستعلام التالي ، والذي ينادي الوحدة النمطية Vacation_Calc للحساب ،

ولعمل الوحدة النمطية ، يجب ان نرسل (بالترتيب) أ. تاريخ التوظيف ب. التاريخ الذي نريد حسابه ج. عدد ايام الاجازة المسموح له

وللتجربة استعملنا تاريخين مختلفين لحساب (التاريخ الذي نريد حسابه):

Vac_Today = تاريخ اليوم

Vac_on_3-3-11 = تاريخ 3-3-2011

476.Clipboard04.jpg

.

والنتيجة

476.Clipboard05.jpg

.

ولعمل الحساب ، يجب استخدام هذه الوحدة النمطية


Function Vacation_Calc(eD As Date, E As Date, vD)

    Dim A
    
    'eD= Employement Start Date
    'E= End Date
    'vD= Days allowed for Employee
    
    'هل يوجد عدد في جدول الاجازات
    If Len(vD & "") = 0 Then
        'لا يوجد عدد ، اذن فليسوا معلمين
        'اذن حساب اجازتهم تعتمد على تاريخ التوظيف
        
        'نحسب فترة توظيفهم بالاشهر ، والسنوات
        Y = DateDiff("yyyy", eD, E)
        M = DateDiff("m", eD, E)
        
        A = 0
        Vacation_Calc = 0
        'اذا فترة التوظيف سنةاو اكثر ، استخدم قيمة السنة
        'والا استخدم قيمة الشهر
        If Y >= 1 Then
            A = Y
        ElseIf M > 5 And M < 12 Then
            A = 0.6
        End If
        'Debug.Print A
        
        If A < 0.5 Then
            Vacation_Calc = 0
                
        ElseIf A >= 0.5 And A < 1 Then
            Vacation_Calc = 15
                
        ElseIf A >= 1 And A < 10 Then
            Vacation_Calc = 21
                
        ElseIf A >= 10 And A < 50 Then
            Vacation_Calc = 30
                
        ElseIf A >= 50 Then
            Vacation_Calc = 45
                
        End If
        
    Else
        'نعم يوجد عدد ، هؤلاء معلمين
        Vacation_Calc = vD
    End If

End Function

.

جعفر

476.حضور وانصراف.mdb.zip

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

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

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

     لماذا تم عمل كود فى الاستعلام بتاريخ  3/3/2011 وما فائدة حقل y وحقل vac_on_3/3/2011 ولماذا هذه النتيجة فى هذا الحفل وفائدتها واشكرك الفكرة الجميلة ورائعة وتم العمل بها لك تحياتى

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

شكرا لك استاذ جعفر لك منى كثير الشكر والاحترام على اسلوبك وسعة صدرك لى تقبل تحياتى وكل عام وحضرتك والاسرة واعضاء المنتدى بخير بمناسبة مولد النبوى الشريف

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

استاذ جعفر قد وجهتنى مشكلة وهى اذا فرضنا ان مدرس اول أ قد وصل من العمر 50 عام فتكون الاجازة الخاصة به 45 يوم  ولكن النتيجة تعطى 35 يوم فى الاستعلام هل ممكن يكون فى تعديل على الكود شكرا لك ولتعبك ولك تحياتى

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

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

 

انت قلت الان:

5 ساعات مضت, حمدى الظابط said:

اذا فرضنا ان مدرس معلم اول (أ) قد وصل من العمر 50 عام فتكون الاجازة الخاصة به 45 يوم  ولكن النتيجة تعطى 35 يوم فى الاستعلام

 

ولكنك في اول مشاركة قلت:

في 12/6/2016 at 03:39, حمدى الظابط said:

الاجازة الاعتيادية  للمعلمين:
 -  معلم , معلم مساعد , معلم اول تكون مدة الاجازة 30 يوم
- معلم اول ( أ ) تكون مدة الاجازة 35 يوم 
- معلم خبير تكون مدة الاجازة 40 يوم
-  كبير معلمين تكون مدة الاجازة 45 يوم
 

الاجازة الاعتيادية لغير المعلمين:
- للجدد بعد 6 شهور مدة الاجازة 15 يوم
- من قضي سنه كاملة مدة الاجازة 21 يوم 
- من قضي 10 سنوات مدة الاجازة 30 يوم
- من تخطي 50 سنة مدة الاجازة 45 يوم

 

وعلى هذا الاساس ، مفهومي هو:

بالنسبة للمعلمين ، فإن اجازاتهم ثابته كما تفضلت انت بشرحك ، ولا علاقة لها بفترة العمل ،

وغير المعلمين ، فإن اجازاتهم متغيرة بحسب فترة العمل.

 

 وانا ذكرت هذه الملاحظة , والتي على اساسها يعمل البرنامج:

في 12/7/2016 at 19:56, jjafferr said:

اسماء الوظائف تم عزلها الى جدول مستقل ، وامام كل وظيفة عدد ايام الاجازة المسموح له ،

واما الاجازات التي تعتمد على تاريخ التوظيف ، فنترك المدة فاضية

.

فما المطلوب الان؟

 

جعفر

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

السلام عليكم استاذى ومعلمى الاستاذ جعفر

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

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

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

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



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

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

Important Information