الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

المساعدة بحدث عند وجود قيمة لمربع تحرير وسرد

مغلقمُجاب
بدأه ناصر المصلح في 8 نوفمبر 2013 · 8 رد · 574 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

تحية عطرة للجميع وعسى ان تكونو باتم صحة وعافية

 

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

 

ولكن الاحتيار يدويا واجه بعض المشاكل من خلال الموظفين الذين يقومون بالاختيار وهذا يؤثر على حقوق الموظفين في اليه الاحتساب

 

الان قمت بتبسيط الامور اكثر وتبقى لدي خطوه واحدة , ارجو من لدية الخبره مساعدتي وهي انه في حال كان فترة التجاوز اقل عن 1800 يتم اليا اختيار الفترة الاولى وفي حال كان اكثر من 1800 يتم اختيار الفترة الثانية

 

مرفق مثال موضح به كل شئ

 

وكل الشكر لجميع القائيمين على هذا الصرح العضيم

اخوكم ابو محمد

 

 

Microsoft Access قاعدة بيانات جديد.rar

#3

عزيزي Khodor

 

شكرا لوقتك الغالي تعديل جيد بحيث يقوم اليا بتحديد فترة الخدمة من خلال داله iff ولكن لايتم نقل ايام التجاوز للحقول اعلاه كما كان بالسابق

 

صورة للتوضيح

iw6Tz.jpg

 

اذا كان بالامكان مساعدتي ليكتمل العمل

وجزيت خيرا

 

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

Forms![HOME]![TEX552].RequeryForms![HOME]![TEX553].Requery

تم تعديل هذه المشاركة بواسطة ناصر المصلح في 9 نوفمبر 2013 في 00:49

#4 أفضل إجابة

تفضل اخي الكريم

 

ملفك بعد التعديل بناء على طلبك

 

 

za-Database-UP.rar

 

 

 

بالتوفيق

2
#5

سعيد ام عهود لتواجدك

 

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

 

هل هذه الطريقة غير ممكنه الى من خلال الاختيار يدوياً ليتم التحديث ام ان هناك حل اخر

 

صورة للملف المعدل من قبلك

 

MF09N.jpg
#6

اخي الفاضل

 

الذي قمت بتعديله لك في الكود هو انه بعد عملية تحديث حقل فترة التجاوز من المفروض ان يتم تحديد فترة الخدمة برمجيا 

 

بدون تدخل منك فإن كانت فترة التجاوز اصغر من او تساوي 1800 فسيتم اظهار الخدمة الأولى في فترة الخدمة وعدى ذلك يتم اظهار الخدمة الثانية

 

هذا ما عملته لك في الكود البرمجي .

 

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

 

لأن الكود البرمجي مبني على فترة التجاوز .

 

 

بالتوفيق

#7

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

 

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

 

هل من تعديل اخت زهراء لهذا الكود حيث انه في حال عدم وجود تاريخ لايكون الناتج # خطاء

Public Function Days360(StartDate As Date, EndDate As Date, Optional Method As Boolean = False) As Long
  Dim TempMonths As Long
  Dim StartDay As Long
  Dim EndDay As Long
  StartDay = Day(StartDate)
  EndDay = Day(EndDate)
  If Not Method Then
    If StartDay > 30 Then
      StartDate = DateAdd("d", -1, StartDate)
    End If
    If EndDay = 31 And StartDay > 30 Then
      EndDate = DateAdd("d", 1, EndDate)
    Else
      If EndDay = 31 Then
        EndDate = DateAdd("d", -1, EndDate)
      End If
    End If
  Else
    If StartDay > 30 Then
      StartDate = DateAdd("d", -1, StartDate)
    End If
    If EndDay > 30 Then
      EndDate = DateAdd("d", -1, EndDate)
    End If
  End If
  StartDay = Day(StartDate)
  EndDay = Day(EndDate)
  TempMonths = DateDiff("M", StartDate, EndDate)
  Days360 = (TempMonths * 30) + (EndDay - StartDay)
End Function

ولاننسا جزيل معروفك

#8

اخي الفاضل

 

لا تحتاج الى التعديل في الوحدة النمطية بل اتركها كما هي

 

ولكن تحتاج الى تعديل بسيط جدا وهو كالتالي :

 

اجعل تنسيق حقل تاريخ المباشرة هو   Short Date   تاريخ قصير

 

واجعل القيمة الإفتراضية له هي  ()Now=  

 

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

 

وفي حال مباشرة الموظف وعودته من الإجازة اكتب تاريخ المباشرة يدويا ليتم حفظها في الجدول

 

 

بالتوفيق

1
#9

حل ممتاز ويفي بالغرض لحد كبير

 

كلمة شكر ماتوفيك اختنا الغالية ام عهود

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…