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

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

قام بنشر

مرحبا شباب أتمنى أن تكونوا في أحسن حال

نعرف جميعاً بأن عدد الايام في الاشهر غير متساوية أتكلم هنا عن السنة الميلادية فشهر 1 ، 3 ، 5 ، 7 ، 8 ، 10 ، 12 فيها 31 يوم

وشهر 2 يعتمد على السنة هل هي كبيسة أو بسيطة فاحيانا يكون شهر 2 فيه 28 يوم وأحياناً 29 يوم طريقة المعرفة قسمة السنة على 4 فاذا طلع الناتج عدد صحيح فشهر 2 في تلك السنة 29 يوم وإذا طلع الناتج كسر فشهر 2 فيه 28 يوم في تلك السنة 

مثال على ذلك : سنة 2000 طريقة المعرفة 2000 / 4 = 500 فشهر 2 في سنة 2000م 29 يوم لان الناتج طلع عدد صحيح

                      سنة 2001 طريقة المعرفة 2021 / 4 = 500.25 فشهر 2 في سنة 2021 28 يوم لان الناتج طلع عدد كسر

 

وشهر 4 ، 6 ، 9 ، 11 فيها 30 يوم

 

إذا تعين الموظف بعد 1 من الاشهر التي فيها 31 يوم لنفرض أنه تعين في يوم 6 يكون استحقاقه للراتب ومدة العمل = 31 - 5 = 26   يوم

إذا تعين الموظف بعد 1 من الاشهر التي فيها 30 يوم لنقرض أنه تعين في يوم 6 يكون استحقاقه للراتب ومدة العمل = 30 - 5 = 25 يوم

إذا تعين الموظف بعد 1 من شهر 2 من عام 2000 لنفرض أنه تعين في يوم 6 يكون استحقاقه للراتب ومدة العمل = 29 - 5 = 24 يوم

إذا تعين الموظف بعد 1 من شهر 2 من عام 2001 لنفرض أنه تعين في يوم 6 يكون استحقاقه للراتب ومدة العمل = 28 - 5 = 23 يوم 

الجول التالي يوضح ذلك :

 

 

image.png

مدة عمل الموظف.accdb

قام بنشر

هذه المشكلة تتكرر في التعيين وفي المغادرة/الفصل وفي بداية الإجازة وفي المباشرة بعد العودة من الإجازة.

وهناك اقتراحين لتفادي هذه المشكلة.
إما بإستخراج متوسط الراتب اليومي بقسمة راتب الشهر على مدته دون التعديل في الأيام.
أو باستخراج متوسط الراتب اليومي بضرب الراتب في 12 ثم قسمته على 365 للسنة البسيطة أو 366 للسنة الكبيسة وبدون التعديل في الأيام، وهو الأفضل.
موفقين

قام بنشر

أشكرك أخي على الرد ولكن أريد النموذج المرفق في المشاركة الأولى أن يحسب لي مدة عمل الموظف بالضبط بالسنوات والاشهر والايام المشكلة في التعيين فقط ولا توجد مشكلة في الانهاء لو فرضنا أن الموظف أنتهى عقد العمل في يوم 8 فالموظف كان آخر يوم عمل له يوم 7 فتحسب 7 أيام سواء كان في الاشهر التي بها 31 يوم أو الاشهر التي فيها 30 يوم أو شهر 2

قام بنشر

لم تفتح معي قاعدة البيانات

للحصول على مدة الشهر يمكن استخدام هذه المعادلة:

mmDays = Day(DateSerial(yy, mm + 1, 0))

 

قام بنشر
في 10‏/8‏/2022 at 15:02, MO87 said:

هل هذا المطلوب 

 

عمل صحيح ولكن فيه ملاحظة

تاريخ التعيين 6 / 3/ 2022 تاريخ إنهاء الخدمة 1 / 4 /2022 مدة العمل 26 يوم فقط الصور توضح ذلك

تاريخ التعيين 6 / 7 / 2022 تاريخ إنهاء الخدمة 6 / 7 / 2022 مدة العمل 1 سنة و 2 شهر و 1 يوم

 

مرفق الصور التوضيحية

1.png

2.png

3.png

4.png

5.png

قام بنشر

السلام عليكم 🙂

 

الاكسس تلقائيا يحسب عدد الايام الصحيحة ، حسب عدد ايام الشهر ، وحسب كون السنة كبيسة او عادية ،

فاليك الدالة التي استعملها (وهي موجودة في المنتدى، ولكن عملت عليها تغيير بسيط حتى تستطيع عرض الارقام مستقلة) :

Public Function YMDDif4(sDate1 As Date, sDate2 As Date)
On Error GoTo err_YMDDif4


    'sDate1 earliest date
    'sDate2 later date
    
    Dim d As Integer, m As Integer, y As Integer
    
    Dim iYear As Integer
    Dim iMonth As Integer
    Dim iDay As Integer
    Dim dInterim1 As Date
    
    iMonth = DateDiff("m", sDate1, sDate2)
        
    If Day(sDate1) > Day(sDate2) Then
        iMonth = iMonth - 1
    End If
    
    dInterim1 = DateAdd("m", iMonth, sDate1)
    iDay = DateDiff("d", dInterim1, sDate2)
    
    d = iDay
    m = iMonth Mod 12
    y = iMonth \ 12
    'YMDDif2 = CStr(Y) & " Years " & CStr(M) & " months " & CStr(D) & " days"
    'YMDDif4 = CStr(y) & " س/" & CStr(m) & " ش/" & CStr(d) & " ي"
    YMDDif4 = CStr(y) & "|" & CStr(m) & "|" & CStr(d)

Exit Function
err_YMDDif4:

    If Err.Number = 94 Then
        'ignor, null
        Resume Next
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
    
End Function

.

واذا عندك بيانات في الجدول ، تناديها من النموذج على حدث الحالي:



    Dim myPeriod As String
    
    myPeriod = YMDDif4(Me.date1, Me.date2)
    Me.Y = Split(myPeriod, "|")(0)
    Me.M = Split(myPeriod, "|")(1)
    Me.D = Split(myPeriod, "|")(2)

.

بس في حالتك ، وبسبب النموذج غير مضمن ، فتناديها على حدث "بعد تحديث" التاريخ الثاني 🙂

 

جعفر

مدة عمل الموظف.zip

  • Like 2
قام بنشر
21 ساعات مضت, rockjone33 said:

استعلامين في المده بشرط الايام اذا تجاوزة ٣٠ = +1 ..

أشكرك كثير

 

21 ساعات مضت, jjafferr said:

الاكسس تلقائيا يحسب عدد الايام الصحيحة ، حسب عدد ايام الشهر ، وحسب كون السنة كبيسة او عادية

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

image.png.cef357a06f5c05cc39ee4a3b19782ded.png

  • أفضل إجابة
قام بنشر

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

مشاركة مع اساتذتى الافاضل 

كنا قد تطرقنا الى موضو ع شبيه لذلك وهذا >---->>   رابط الموضوع 

 

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

 

مدة عمل الموظف.accdb

  • Like 1
قام بنشر
5 ساعات مضت, Alsalim1 said:

طلعت النواتج صحيحة التي أرفتها في الامثلة ما عدا الذي بالصورة المرفقة

همممم

اعتقد في خطأ في الحسبة من صوبك !!

 

هذه نتيجة البرنامج:

image.png.93f85abb91897c9069f3c653f7142049.png

.

وهاي نتائج موقعين من الانترنت متخصصين في هذا الموضوع:

image.png.bb74d7130d9f08bd5862fc4df0666273.png 

و

 image.png.f7bfdccf2d07904c9ea2a05ef1b99ba1.png

.

وهاي رابط نقاش طويل عن الدالة اعلاه:

.

جعفر

قام بنشر
21 ساعات مضت, ابو جودي said:

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

مشاركة مع اساتذتى الافاضل 

كنا قد تطرقنا الى موضو ع شبيه لذلك وهذا >---->>   رابط الموضوع 

 

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

 

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

قام بنشر
21 ساعات مضت, jjafferr said:

اعتقد في خطأ في الحسبة من صوبك

أيها الاستاذ العزيز خليني أشوفك في مسقط 

 

طريقة الاحتساب الدقيقة المتبعة لدينا 

مثال : 1

تاريخ التعيين : 6 / 5 / 2022 تاريخ إنهاء الخدمة : 1 / 6 / 2022

شهر 5 فيه 31 يوم 31 - 5 = 26 يوم 

 

مثال : 2

تاريخ التعيين 6 / 4 / 2022 تاريخ إنهاء الخدمة : 1 / 5 / 2022

شهر 4 فيه 30 يوم 30 - 5 = 25

 

مثال : 3

تاريخ التعيين 6 / 2 / 2022 تاريخ إنهاء الخدمة  1 / 3 / 2022

شهر 2 في سنة 2022 فيه 28 يوم  28 - 5 = 23 يوم

 

مثال : 4

تاريخ التعيين 6 / 2 / 2020 تاريخ إنهاء الخدمة : 1 / 3 / 2020

شهر 2 في سنة 2020 فيه 29 يوم إذن 29 - 5 = 24 يوم

 

حاولنا تطبيق أن كل الاشهر فيها 30 يوم عندما يتعين الموظف بعد 1 من كل شهر ولكن يختلف في أيام العمل التي أشتغل فيها ففي الاشهر اللي فيها 30 يوم هو أشتغل فقط 25 يوم وفي الاشهر التي بها 31 يوم هو أشتغل 26 يوم فالفرق في الايام يجبرك بأن تقسم على إجمالي عدد  الايام في شهر التعيين ، شاكر لك مشاركت وثق بأن مشاركتك ومشاركة الاساتذة البقية في محل تقدير وجب الشكر عنها .

قام بنشر
4 ساعات مضت, Alsalim1 said:

أيها الاستاذ العزيز خليني أشوفك في مسقط

اتشرف اخوي سعيد 🙂

لما تكون حيتنا ، ارسل لي رسالة على الخاص ، وان شاء الله نلتقي ، وما ادراك ، يمكن @Moosak يحب البابلو كماي ويهبش معانا 🙂

 

جعفر

قام بنشر
1 ساعه مضت, jjafferr said:

يمكن @Moosak يحب البابلو كماي ويهبش معانا 🙂

ماشي ما أحبه 😂😁

  • Haha 1
قام بنشر
في 12‏/8‏/2022 at 02:03, AbuuAhmed said:

م تفتح معي قاعدة البيانات

للحصول على مدة الشهر يمكن استخدام هذه المعادلة:

mmDays = Day(DateSerial(yy, mm + 1, 0))

 

أقرأ في الردود وما قدرت أفهم حلت المشكلة وإلا لا.
أعتقد الحل موجود في هذه المشاركة بس لأني جديد ما أحد التفت لي 🙂

 

مثال : 1

تاريخ التعيين : 6 / 5 / 2022 تاريخ إنهاء الخدمة : 1 / 6 / 2022

شهر 5 فيه 31 يوم 31 - 5 = 26 يوم 

Day(DateSerial(2022, 5 + 1, 0)) - 6 + 1

مثال : 2

تاريخ التعيين 6 / 4 / 2022 تاريخ إنهاء الخدمة : 1 / 5 / 2022

شهر 4 فيه 30 يوم 30 - 5 = 25

Day(DateSerial(2022, 4 + 1, 0)) - 6 + 1

مثال : 3

تاريخ التعيين 6 / 2 / 2022 تاريخ إنهاء الخدمة  1 / 3 / 2022

شهر 2 في سنة 2022 فيه 28 يوم  28 - 5 = 23 يوم

Day(DateSerial(2022, 2 + 1, 0)) - 6 + 1

مثال : 4

تاريخ التعيين 6 / 2 / 2020 تاريخ إنهاء الخدمة : 1 / 3 / 2020

شهر 2 في سنة 2020 فيه 29 يوم إذن 29 - 5 = 24 يوم
Day(DateSerial(2020, 2 + 1, 0)) - 6 + 1

قام بنشر
في 15‏/8‏/2022 at 15:52, ابو جودي said:

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

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

image.png.35321dc6d8fa24aabb712c53be47c7c7.png

قام بنشر
في 21‏/8‏/2022 at 10:01, Alsalim1 said:

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

شباب مقدر كثير وقتكم الثمين بس ما زلت أنتظر ردكم عندما يسمح لكم وقتكم

  • 2 weeks later...
قام بنشر
في 22‏/8‏/2022 at 12:22, Moosak said:

كذاك تبغاه الأخ سعيد ؟ 🙂 

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

  • Thanks 1
  • 2 months later...
قام بنشر
في 22‏/8‏/2022 at 01:22, Moosak said:

ذاك تبغاه الأخ سعيد ؟

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

أدخلت تاريخ التعيين : 6 / 6 / 2006          تاريخ الاستقالة : 1 / 1 /2022

الناتج الصحيح سنة التعيين : شهر 6 فيه 30 يوم 30 - 5 = 25        25 يوم     6 أشهر         0 سنة

               سنة الإستقالة :                                                   0 يوم      0 أشهر         15 سنة

                         إجمالي :                                                 25 يوم      6 أشهر         15 سنة 

 

ناتج البرنامج كما موضح بالصورة خطأ 

 

image.png.5649676262649b8fc11cb560ebb42dd7.png

قام بنشر

الغريبة لي مشاركتين في هذا الموضوع بس السائل يبدو نظره ضعيف وأعتقد أنه ما قرأهما أو قرأهما بس ما عجبه اسمي.

قام بنشر
في 13‏/11‏/2022 at 03:03, AbuuAhmed said:

الغريبة لي مشاركتين في هذا الموضوع بس السائل يبدو نظره ضعيف وأعتقد أنه ما قرأهما أو قرأهما بس ما عجبه اسمي.

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

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