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

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

قام بنشر

السلام عليكم

تحية طيبة

بناء على  المواضيع التي تحدثت عن الاجازات وخاصة هذا الموضوع

لم اتمكن من ضبط  الاستحقاق بالصورة الصحيحة

آمل مساعدتي   جزاكم الله خيرا

ejmaleEjazat: Int(((Date()-[hiredate])/30)*4.16)

كلما دخلت سنة جديدة تزيد مدة الإجازة يوم

نعرف ان قسمة 50/12 تساوي 4.16667 هل من كود اخر يعطي 50 يوم كل سنة

 

قام بنشر

وعليكم السلام أخي كريمو:smile:

 

لماذا نستعمل هذه المعادلة ؟

اذا كانت وظيفته تعطيه اجازة معينة عند توظيفة ، مثلا 30 يوم في السنة ،

ثم سنويا تريد تضيف يوم على الـ 30 يوم ، فالمعادلة ستكون سهلة:smile:

 

هل مفهومي للسؤال صحيح؟

 

جعفر

قام بنشر (معدل)
9 ساعات مضت, jjafferr said:

وعليكم السلام أخي كريمو:smile:

لماذا نستعمل هذه المعادلة ؟

اذا كانت وظيفته تعطيه اجازة معينة عند توظيفة ، مثلا 30 يوم في السنة ،

ثم سنويا تريد تضيف يوم على الـ 30 يوم ، فالمعادلة ستكون سهلة:smile:

هل مفهومي للسؤال صحيح؟

جعفر

 

فيه معادلة اخرة يمكن استعمالها استاذي العزيز

المفهوم المطلوب

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

4.16 يوم × 12 شهر = 49.92 يوم  وليست 50 يوم  وهنا المشكلة

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

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

بينما اذا استعملت المعادلة الاصلية ، فستكون النتائج صحيحة ، انظر هذا العمل لثلاث سنوات:

00.z_0018.jpg.0c4b64aef83c736bc3c7e98e796573cc.jpg

 

جعفر

قام بنشر

أخي كريمو:smile:

 

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

1. شكله جميل ،

2. ما احب النماذج المنبثقة ، ودائما اغيرها الى عادية ،

3. وما احب On Timer ، لأنه يجعل الكمبيوتر يبذل جهد ، اللي ممكن استغلاله لشئ افضل ، ويتعبني في الكود:blink:

 

:wink2:

جعفر

قام بنشر
17 دقائق مضت, jjafferr said:

أخي كريمو:smile:

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

1. شكله جميل ،

2. ما احب النماذج المنبثقة ، ودائما اغيرها الى عادية ،

3. وما احب On Timer ، لأنه يجعل الكمبيوتر يبذل جهد ، اللي ممكن استغلاله لشئ افضل ، ويتعبني في الكود:blink:

:wink2:

جعفر

الدليل واضج كل موظف يحتاج الى اجازة سنوية كل سنة 50 يوم

هذه الإجازة تعطى له كاملة بعد قضاء سنة من تاريخ تنصيبه 

والصورة توضح 

اما بخصوص On Timer فلك صلاحية ان توقف مهامها

المهم ايجاد حل استاذي العزيز جعفر

وفقك الله لما يحبه ويرضاه

58ac3a380ff26_.jpg.424536c24a42a3bb8fd8e143a6e9e47b.jpg

 

 

قام بنشر

أخي كريمو :smile:

انا كنت امزح ، فأعتذر منك:smile:

 

اي حقل يجب ان انظر اليه ، وما النتائج التي يجب ان تكون ، وفي اي تاريخ !!

انا ما عندي ادنى فكرة !!

 

جعفر

قام بنشر
14 دقائق مضت, jjafferr said:

أخي كريمو :smile:

انا كنت امزح ، فأعتذر منك:smile:

اي حقل يجب ان انظر اليه ، وما النتائج التي يجب ان تكون ، وفي اي تاريخ !!

انا ما عندي ادنى فكرة !!

جعفر

مافيش مشكلة اخي الحبيب

حقل الاستحقاق

58ac3f9180725_.png.f23857caef7171f94a984ee5e94131fc.png

قام بنشر

أخي كريمو:smile:

 

الظاهر انك مو راضي عني:blink:

ولا توضيح عن المطلوب ، وكيف الحساب ووووو ، واقارنه مع اي حقل او احسبه من اي حقل ، او تاريخ !!

 

جعفر

قام بنشر (معدل)
15 ساعات مضت, jjafferr said:

أخي كريمو:smile:

الظاهر انك مو راضي عني:blink:

ولا توضيح عن المطلوب ، وكيف الحساب ووووو ، واقارنه مع اي حقل او احسبه من اي حقل ، او تاريخ !!

جعفر

لا اخي الكريم كيف تقول هذا !

انت كنت اخا رائعا في مساعدتك لي طوال سنوات واتمنى مانتحرم منك 

فبارك الله لك فيما مددت فيه يد المساعدة لإخوانك

الحقول المعنية وهي :

hiredate تاريخ التوظيف

ejmaleEjazat الإستحقاق الإجمالي وهي التي بها المشكلة زيادة يوم او اكثر ودالتها على هذا المنوال :

ejmaleEjazat: Int(((Date()-[hiredate])/7.3))

مدة الإستحقاق : aja_B  " تنقص من قيمة الإستحقاق الإجمالي "

نوعية الإجازة : ejazaID  (بها عدة خيارات وشروط ) تجدها في جدول tblEjaza

mhsop = "تنقص من قيمة الإستحاق"

mhsop: DSum("aja_B";"TB_Ath6rary";"IDmozf=" & [IDmozf] & "And ejazaID<200")

Unmhsop = " لا تنقص من قيمة الإستحاق"

Unmhsop: DSum("aja_B";"TB_Ath6rary";"IDmozf=" & [IDmozf] & "And ejazaID>200")

تاريخ نهاية العمل : هذا التاريخ يشترط ان توقف فيه زيادة مدة الإستحقاقات " لان العامل قد تم توقيف عمله "

 

 

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

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

 

يجب اولا ان نصل الى الحل الصحيح ، ومنها نعمل المعادله / المعادلات ،

في المرفق ملف اكسل ، وفيه حساب يدوي لكل يوم من تاريخ التوظيف ، لموظفين اثنين ،

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

 

جعفر

600.xlsx.zip

قام بنشر

شكرا لك استاذ على الإصغاء وايجاد الحل

مافهمت شيئا بالملف

المهم حاولت توضيح اكثر من صورة الأكسل بالمرفق

58b592cd940af_.thumb.png.5338b990a35e67ff81017cc244b08362.png

 

 

قام بنشر
في ٢١‏/٢‏/٢٠١٧ at 10:39, كريمو2 said:

4.16 يوم × 12 شهر = 49.92 يوم  وليست 50 يوم  وهنا المشكلة

اذا كان المشكلة من هنا
اي بيكون 49.92 وتريد ان يكون 50 بدل ذلك
تكدر تستخدم هذا الكود  

ejmaleEjazat: Round(((Date()-[hiredate])/30)*4.16;0)

بدل هذا

في ٢٠‏/٢‏/٢٠١٧ at 11:28, كريمو2 said:

ejmaleEjazat: Int(((Date()-[hiredate])/30)*4.16)

ملاحظة : اذا تستخدم في مصدر مربع نصي او استعلام الكود تمام واذا تستخدم في الاكواد فيجوال فقط غير ( ; ) الى ( , )

هذا والله اعلم

 

قام بنشر

شكرا لك اخي شيفان على المساعدة

لسة دالة التقريب لا تفي بالغرض المطلوب

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

قام بنشر
7 ساعات مضت, كريمو2 said:

شكرا لك اخي شيفان على المساعدة

لسة دالة التقريب لا تفي بالغرض المطلوب

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

فكرت في شي اخر لا اعلم هل سيوفي بالنتيجة ام لا

لكن جربه لعله تستفيد

بدل نقسمه الى شهر راح نقسمه الى يوم

اي

راح نغير هذا

ejmaleEjazat: Round(((Date()-[hiredate])/30)*4.16;0)

الى هذا

 

ejmaleEjazat: Round(((Date()-[hiredate]))*0.1389;0)

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

تحياتي

قام بنشر

شكرا اخي شيفان

لاحظ المرفق 

وخاصة عند العامل كريمو 5 بداية توظيفه 1989/12/09

ejmaleEjazat: Int(((Date()-[hiredate])/7.3))
ejmaleEjazat1: Int(((Date()-[hiredate])/30)*4.16)
ejmaleEjazat2: Round(((Date()-[hiredate])/30)*4.16;0)
ejmaleEjazat3: Round(((Date()-[hiredate]))*0.1389;0)

ejmaleEjazat   = 1363

ejmaleEjazat1 = 1380

ejmaleEjazat2 = 1381

ejmaleEjazat3 = 1383

الأصح = 1353

حساب اجازة.rar

قام بنشر
17 دقائق مضت, كريمو2 said:

شكرا اخي شيفان

لاحظ المرفق 

وخاصة عند العامل كريمو 5 بداية توظيفه 1989/12/09


ejmaleEjazat: Int(((Date()-[hiredate])/7.3))
ejmaleEjazat1: Int(((Date()-[hiredate])/30)*4.16)
ejmaleEjazat2: Round(((Date()-[hiredate])/30)*4.16;0)
ejmaleEjazat3: Round(((Date()-[hiredate]))*0.1389;0)

ejmaleEjazat   = 1363

ejmaleEjazat1 = 1380

ejmaleEjazat2 = 1381

ejmaleEjazat3 = 1383

الأصح = 1353

حساب اجازة.rar

وكيف تعرف ان الاصح هو 1353

اي طريقة وصول لذلك الرقم

ممكن تشرحلي

قام بنشر

له 27 سنة من عام (1990 الى 2017) × 50 = 1350

وله 03 ايام في ديسمبر عام 1989

المجموع 1353

قام بنشر (معدل)
31 دقائق مضت, كريمو2 said:

له 27 سنة من عام (1990 الى 2017) × 50 = 1350

وله 03 ايام في ديسمبر عام 1989

المجموع 1353

وما هو الحال لشهر 1 و 2 و

14 يوم من شهر 3 لهذه السنة

هل ما يحسبه

تم تعديل بواسطه Shivan Rekany
  • Like 1
قام بنشر
8 دقائق مضت, Shivan Rekany said:

وما هو الحال لشهر 1 و 2 و

14 يوم من شهر 3 لهذه السنة

هل ما يحسبه

شهر له 4.16 

شهرين له 4.16 × 2 = 8.32 بتقريب 9 

14 يوم  له 2.08

لاحظ المرفق من تصميم استاذ رمهان في هذا المنتدى

حساب اجازاة ثانية1.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