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

طريقة حساب مدة الخدمة ورصيد الإجازات

مغلق
بدأه فهد الدوسري في 2 فبراير 2003 · 12 رد · 2,375 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أرجو ممن يعرف الطريقة أن يخبرني بها فأنا بحاجة لها

الشرح موجود في المثال المرفق

من يريد التعديل على المثال فأنا له من الشاكرين

ملاحظة : أريد ذلك على (نص) وليس (تاريخ/وقت)

وللجميع تحياتي

keedmh.zip

#2

العزيز فهد الدوسري ..

هذه القاعدة بعد التعديل

dbholyday.zip

#3

بعد اذن أخي أحمد الحربي

مïé_çلîïمé_97.zip

#4

أرجو التأكد من الأرقام

 If tdd < fdd Then

    tdd = tdd + 30

    tmm = tmm - 1

  End If



  If tmm < fmm Then

    tmm = tmm + 12

    tyy = tyy - 1

  End If

تحياتي

#5

عاجز عن شكرك أخوي أحمد الحربي الله لا يحرمك أجر ذلك كله

===

استاذي الغالي أبو هادي الله لا يحرمنا من علمك ولا يحرمك الأجر .. لقد حاولت تحويل البرنامج إلى الإصدار 2000 أو 2002 أو xp فرفض وتخرج رسالة تفيد أن الملف معطوب فهل تتفضل بإعادة المثال مشكوراً

وجزاكم الله ألف خير

#6

إليك الكود ، علما أني لم استخدم كودا جديدا بل هو موجود بالمنتدى .. إبحث عن كيفية حساب الأعمار .

Private Sub أمر15_Click()

Dim رصيد_الشهور

Dim رصيد_السنوات

  

  Dim fdd As Integer, fmm As Integer, fyy As Integer

  Dim tdd As Integer, tmm As Integer, tyy As Integer



  If [بداية] > [نهاية] Then

    Beep

    MsgBox "يجب أن يكون تاريخ النهاية أكبر من تاريخ البداية"

    '

    '

    '

    Exit Sub

  End If



  fdd = Mid([بداية], 9, 2)

  fmm = Mid([بداية], 6, 2)

  fyy = Mid([بداية], 1, 4)



  tdd = Mid([نهاية], 9, 2)

  tmm = Mid([نهاية], 6, 2)

  tyy = Mid([نهاية], 1, 4)



  If tdd < fdd Then

    tdd = tdd + 30

    tmm = tmm - 1

  End If



  If tmm < fmm Then

    tmm = tmm + 12

    tyy = tyy - 1

  End If



  [الخدمة_يوم] = tdd - fdd

  [الخدمة_شهر] = tmm - fmm

  [الخدمة_سنة] = tyy - fyy



  الرصيد = ([الخدمة_سنة] + ([الخدمة_شهر] / 12)) * 30



' استخدمت abc

'لقصد إلغاء السالب فنجحت في شيئ وأخفقت في آخر







'الخدمة_يوم = Abs(Abs(Day([نهاية])) - Abs(Day([بداية]))) ' هنا تم إخفاء السالب

'الخدمة_شهر = Abs(Abs(Month([نهاية])) - Abs(Month([بداية]))) ' هنا تم إخفاء السالب

'الخدمة_سنة = Abs(Abs(Year([نهاية])) - Abs(Year([بداية]))) ' هنا تم إخفاء السالب



' حساب رصيد الشهر هو الشهر ضرب يومين ونصف أي لكل شهر يومين ونصف من الإجازات

'رصيد_الشهور = Abs([الخدمة_شهر]) * 2.5



' حساب رصيد السنة إجمالي السنوات ضرب ثلاثين يوماً وهي عدد أيام الشهر دون التفرقة إن كان الشهر تاماً أو ناقصاً

'رصيد_السنوات = Abs([الخدمة_سنة]) * 30



' الرصيد هو ما يستحقه عن خدمة هذه كاملة وهو رصيد السنوات مع الأشهر

'الرصيد = رصيد_الشهور + رصيد_السنوات & " " & "يوماً"

End Sub

تحياتي

#7

بتابع كثير بعض هذي الاكواد ولكن مشكلتي ما بعرف اين اضعها .. يعني هل اروح للفورم؟؟؟ او اعمل ايقونه خاصه واضعها فيها ؟؟؟... دلوني او اعطوني الطريقه .. واذا كان مثلا في الفورم فين المكان بالضبط اللي اضع مثل هذا الكود فيه .. وهل هناك امور تسبق هذا العمل

#8

بعد اذن اساتذتي المحترمين

هذا هو البرنامج بعد تحويلة الي اكسس 2000

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

بل لبيت لدي القدرة على هذة الخبرة

وشكرا لكم

اخوكم ابو حمد

مïé_çلîïمé2000.zip

#10
اقتباس
بتابع كثير بعض هذي الاكواد ولكن مشكلتي ما بعرف اين اضعها

اين يوضع الكود ؟

http://www.arabteam2000.com/vb/showthread....&threadid=15738

حديث حول المتغيرات

http://www.arabteam2000.com/vb/showthread....&threadid=17454

القواعد الاساسية لكتابة sub أو Function

http://www.arabteam2000.com/vb/showthread....&threadid=17315

#11

ولو ( على قولة أخوانا السوريين ) .. أخي فهد

خيرك سابق .. وكثير استفادوا منك وأنا واحد منهم

#12

الله يجعل كل ما نقدمه خالص لوجهه

استاذي أبو هادي طريقتك أفضل بكثييير وأسأل مجرب;)

#13

شكرا

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

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

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

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

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

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