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

الرجاء المساعدة فى هذا الكود

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

بسم الله الرحمن الرحيم

لدى قاعدة بيانات يتم من خلالها احتساب رواتب العاملين والاضافي

وفى الشركة التي اعمل بها فان الاضافى يتم احتسابه على اساس ان الراتب بحد اقصى على 200 دينار فمثلا اذا كان راتب احد الموظفين 250 دينار فانه عند احتساب الراتب يتم احتسابه على اساس 250 دينار اما الاضافي يتم اعتبار ان الراتب 200 دينار فقط

فما هو الكود او الشرط الواجب ادراجه

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

Private Sub OV_NORMAL_Exit(Cancel As Integer)
OV_N_VALUE = Me.مربع_تحرير_وسرد32.Column(1) / 208 * 1.25 * OV_NORMAL
End Sub

وشكرا مقدما (f)

#2

نفترض ان حقل الراتب الاساسي للموظف هو basic_salary

وأن حقل الاضافي هو add_to_salary

فيمكنك عمل ذلك عن طريق هذا الكود :

If add_to_salary.Value > 0 Then

basic_salary.Value = 200

Else

basic_salary.Value = 250

End If
#3

بسم الله الرحمن الرحيم

الاخ العزيز / مبئدي جدا

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

اشكرك على تفاعلك السريع وسرعة استجابتك

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

بعد ان حذفت بعض الاشكال والنمازج حتى تفي بالحجم المسموح للارفاق بالمنتدى

ويمكن ملاحظة التالي :

الراتب يظهر بمربع تحرير وسرد بمجرد وضع رقم كود العامل

لذا يظهر الراتب الاساسي بالمعادلات باسم

(Me.مربع_تحرير_وسرد32.Column(1)

وشاشة الادخال DAIALY DATA FORM هى لادخال ساعات العمل اليومي للعامل وعند الخروج من خانة الوقت الاضافي ( اجراء حدث) يقوم بحساب قيمة الاضافي فى الخانة المقابلة بناء على ان الاضافي

= الراتب الاساسي / 208 * الوقت الاضافي

(حيث ان 208 هى عدد ساعات العمل الشهرية )

وهناك 3 انواع من الاضافي ساعات اضافي لايام الاجازات ويتم احتساب الساعة الاضافي = ساعة

اضافي عادى وتحسب على اساس ان الساعة = 1.25 ساعة عمل

اضافي ايام الجمع على اساس ان الساعة = 1.5 ساعة عمل

ولا يمكنني عند عمل الكود ان اكتب ان الراتب =250 لان لكل عامل راتب مختلف

اما 200 دينار فليس معناها ان الحد الاقصى للاضافي هو 200 دينار ولكن اذا زاد الراتب الاساسي الشهري للعامل عن 200 دينار فان الاضافي يحتسب للعامل على اساس ان الراتب الشهري =200 دينار

فاذا كان الراتب الاساسي 250 دينار وادخلت فى ساعات العمل 8 ساعات تظهر فى خانة SUB SALARY القيمة = 9.615 ( على اساس =250/208*8ساعات)

ولكن عند ادخال فى خانة الاضافي OV HOLIDAY عدد ساعات الاضافي ولنفرض 4 ساعات فالمطلوب احتساب الساعات ال 4 على اساس ان الراتب =200 دينار لتكون القيمة للاربع ساعات = 3.846 دينار ( 200/208*4)

(f)اطلت عليك ويمكن اكون لخبط لك دماغك لكن حبيت ان الشرح يكون وافي

واشكرك مقدما (f)

cod_labour.zip

#4

اذن يكون الكود هكذا :

If Me.مربع_تحرير_وسرد32.Column(1) <= 200 Then

OV_N_VALUE = Me.مربع_تحرير_وسرد32.Column(1) / 208 * 1.25 * OV_NORMAL

Else

OV_N_VALUE = 200 / 208 * 1.25 * OV_NORMAL
#5

الاخ العزيز / مبتدئ جدا

انا محرج منك ولكن كتبت نفس الكود اللى انت وضعته عند الخروج من خانة OV NORMAL اجراء حدث لكن عند الخروج من الخانة يعطي رسالة خطا وتظليل على كلمة END SUB فاذا حذفتها يعطي خطا ايضا

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

واشكرك مقدما (f)

#6

الاخ العزيز / مبتدئ جدا

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

فعدت وادرجته باضفة الجملة وعمل بشكل ممتاز واشكرك جدا

واصبح الكود كما يلي

Private Sub OV_NORMAL_Exit(Cancel As Integer)
If Me.مربع_تحرير_وسرد32.Column(1) <= 200 Then
OV_N_VALUE = Me.مربع_تحرير_وسرد32.Column(1) / 208 * 1.25 * OV_NORMAL
Else
OV_N_VALUE = 200 / 208 * 1.25 * OV_NORMAL
End If
End Sub

ربنا ما يحرمنا منك وافاد بك وبعلمك (f)(f)(f)(f)(f)

#7

اخي الكريم جدا / مبتدئ جدا

يقول المثل اذا اعطيت الفأر كعكة فانه سيطمع فى كوب من الحليب

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

رجاء الاطلاع على طلبي فى المنتدى بهذا الرابط حيث طرحته منذ فترة ولكن للان لم يجب احد من الاخوة http://www.arabteam2000.com/vb/showthread.php?s=&threadid=28710 ://http://www.arabteam2000.com/vb/show...threadid=28710 حيث انه مهم جدا بالنسبة لي فى العمل وبما اني ساعود للقاهرة فى اجازتي السنوية يوم الخميس القادم فارجو اذا كان هناك حل ما قبل بدء الاجازة لانهي المشكلة (f)(f)(f)

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

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

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

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

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

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