اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الفرق او الطرح بين تاريخين على اعتبار الشهر = 30 يوما


إذهب إلى أفضل إجابة Solved by ابوخليل,

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

استاذي العزيز @kkhalifa1960 على سبيل المثال ان التاريخ الاول على افتراض 30-03-2023 والتاريخ الثاني 28-2-2023 حاصر الفرق بينهم 3 ايام او مثال ثاني ان التاريخ الاول 30-3-2023 والتاريخ الثاني 6-2-2023 حاصل الفرق يكون 25 يوم وعليه يجب ان يكون التاريخ لكل شهر 30 يوم لكل الاشهر وشاكر لك جهودك 

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

طريقة غريبة في الحساب!! ممكن تشرح السبب، هل الحسبة تخص الرواتب؟
ممكن نعمل تحايل ولكن سيكون عدد الأيام عدد عشري يعني به كسور ، فهل هذا يرضيك؟
يعني لو عندنا يومين من شهر فبرير ويومين من شهر مارس ستكون المدة (2/28*30)   +  (2/31*30)
أي الأربعة أيام ستحسبها 4.0783410138 وستضربها في الراتب/30
 

Days = (2 / 28 * 30) + (2 / 31 * 30) = 4.0783410138
وبافتراض أن الراتب الشهري 1000
NetSalary = 4.0783410138 * (1000 / 30) = 135.94

 

تم تعديل بواسطه AbuuAhmed
  • Like 1
رابط هذا التعليق
شارك

4 دقائق مضت, AbuuAhmed said:

طريقة غريبة في الحساب!! ممكن تشرح السبب، هل الحسبة تخص الرواتب؟
ممكن نعمل تحايل ولكن سيكون عدد الأيام عدد عشري يعني به كسور ، فهل هذا يرضيك؟
يعني لو عندنا يومين من شهر فبرير ويومين من شهر مارس ستكون المدة (2/28*30)   +  (2/31*30)
أي الأربعة أيام ستحسبها 4.0783410138 وستضربها في الراتب/30

صح تحايل وخاصة بالترفيعات كل موظف لديه تاريخ استحقاق ونظام الرواتب يحسب شهر شباط على 30 يوم وليس 29 او 28 شكرا لدعمك ممكن مساعده 

@AbuuAhmed على سبيل المثال ان التاريخ الاول على افتراض 30-03-2023 والتاريخ الثاني 28-2-2023 حاصر الفرق بينهم 3 ايام او مثال ثاني ان التاريخ الاول 30-3-2023 والتاريخ الثاني 6-2-2023 حاصل الفرق يكون 25 يوم وعليه يجب ان يكون التاريخ لكل شهر 30 يوم لكل الاشهر وشاكر لك جهودك 

رابط هذا التعليق
شارك

34 دقائق مضت, AbuuAhmed said:

هل أشتغل لك على مقترحي ، يعني هل أنت موافق ، أنا لا أريد أن يذهب تعبي سدى ، أكد لي موافقتك لو سمحت

 على سبيل المثال ان التاريخ الاول على افتراض01-03-2023 والتاريخ الثاني 28-2-2023  اريد ان يكون حاصر الفرق بينهم 3 ايام او مثال ثاني ان التاريخ الاول 01-3-2023 والتاريخ الثاني 6-2-2023  اريد ان يكون حاصل الفرق يكون 25 يوم وعليه يجب ان يكون التاريخ لكل شهر 30 يوم لكل الاشهر وشاكر لك جهودك  هذا المطلوب وشكرا لوقتك ورمضان كريم 

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

26 دقائق مضت, ابو هاله النبلسي said:

 على سبيل المثال ان التاريخ الاول على افتراض 30-03-2023 والتاريخ الثاني 28-2-2023  اريد ان يكون حاصر الفرق بينهم 3 ايام 

راجع تواريخك .. هذا لا يمكن .. انت كتبت هذا التاريخ عدة مرات ..  ربما يقصد 1-3  وليس 30-3

  • Like 1
رابط هذا التعليق
شارك

3 دقائق مضت, ابوخليل said:

راجع تواريخك .. هذا لا يمكن .. انت كتبت هذا التاريخ عدة مرات ..  ربما يقصد 1-3  وليس 30-3

أحسنت استاذي همتك معانه الله يخليك 

رابط هذا التعليق
شارك

37 دقائق مضت, AbuuAhmed said:

هل أشتغل لك على مقترحي ، يعني هل أنت موافق ، أنا لا أريد أن يذهب تعبي سدى ، أكد لي موافقتك لو سمحت

2 دقائق مضت, ابو هاله النبلسي said:

أحسنت استاذي همتك معانه الله يخليك 

لا يفتى ومالك في المدينة

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

33 دقائق مضت, Eng.Qassim said:

مشاركة مع اساتذتي الكرام

لكني عملتها على السنة الواحدة

data360.rar 35.14 kB · 2 downloads

ياسلام عليك يا غالي 

رابط هذا التعليق
شارك

جرب هذا الكود:
 

Option Compare Database
Option Explicit

Function GetDays360(DateFm As Date, DateTo As Date) As Double
    Dim Part1 As Double, Part2 As Double, Part3 As Double
    Dim mmDays As Byte, FullMonths As Integer
    Dim Date1 As Date, Date2 As Date
    
    If DateTo - DateFm < 0 Then Exit Function
    
    Date1 = DateSerial(Year(DateFm), Month(DateFm) + 1, 1)
    Date2 = DateSerial(Year(DateTo), Month(DateTo) + 0, 0)
    FullMonths = DateDiff("m", Date1 - 1, Date2)
    
    mmDays = Day(DateSerial(Year(DateFm), Month(DateFm) + 1, 0))
    If FullMonths < 0 Then
        Part1 = (DateTo - DateFm + 1) / mmDays * 30
    Else
        Part1 = (Date1 - DateFm + 0) / mmDays * 30
        Part2 = FullMonths * 30
        
        mmDays = Day(DateSerial(Year(DateTo), Month(DateTo) + 1, 0))
        Part3 = (DateTo - Date2 + 0) / mmDays * 30
    End If
        
    GetDays360 = Part1 + Part2 + Part3
End Function


Sub Test()
    Dim Date1 As Date, Date2 As Date
    
    Date1 = DateSerial(2023, 1, 1)
    Date2 = DateSerial(2023, 12, 31)
    
    MsgBox GetDays360(Date1, Date2)
End Sub

 

55 دقائق مضت, ابوخليل said:

لا يفتى ومالك في المدينة

على راسي @ابوخليل

تم تعديل بواسطه AbuuAhmed
تنقيح الكود
  • Like 1
رابط هذا التعليق
شارك

26 دقائق مضت, AbuuAhmed said:

جرب هذا الكود:
 

Option Compare Database
Option Explicit

Function GetDays360(DateFm As Date, DateTo As Date) As Double
    Dim Part1 As Double, Part2 As Double, Part3 As Double
    Dim mmDays As Byte, FullMonths As Integer
    Dim Date1 As Date, Date2 As Date
    
    If DateTo - DateFm < 0 Then Exit Function
    
    Date1 = DateSerial(Year(DateFm), Month(DateFm) + 1, 1)
    Date2 = DateSerial(Year(DateTo), Month(DateTo) + 0, 0)
    FullMonths = DateDiff("m", Date1 - 1, Date2)
    
    mmDays = Day(DateSerial(Year(DateFm), Month(DateFm) + 1, 0))
    If FullMonths < 0 Then
        Part1 = (DateTo - DateFm + 1) / mmDays * 30
    Else
        Part1 = (Date1 - DateFm + 0) / mmDays * 30
        Part2 = FullMonths * 30
        
        mmDays = Day(DateSerial(Year(DateTo), Month(DateTo) + 1, 0))
        Part3 = (DateTo - Date2 + 0) / mmDays * 30
    End If
        
    GetDays360 = Part1 + Part2 + Part3
End Function


Sub Test()
    Dim Date1 As Date, Date2 As Date
    
    Date1 = DateSerial(2023, 1, 1)
    Date2 = DateSerial(2023, 12, 31)
    
    MsgBox GetDays360(Date1, Date2)
End Sub

 

على راسي @ابوخليل

من فضلك ممكن اضافته بالملف 

رابط هذا التعليق
شارك

6 دقائق مضت, ابو هاله النبلسي said:

شكرا لكم من اعماق قلبي بارك الله بالجهود المبذولة

ولكنك لم توفي بوعدك (قبولك لشرطي) ، هذه أول ليلة في رمضان ضاعت سدى.
صورة مع التحية لـ @ابوخليل

  • Like 1
رابط هذا التعليق
شارك

14 دقائق مضت, Eng.Qassim said:

 

1 دقيقه مضت, AbuuAhmed said:

ولكنك لم توفي بوعدك (قبولك لشرطي) ، هذه أول ليلة في رمضان ضاعت سدى.
صورة مع التحية لـ @ابوخليل

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

  • Like 1
رابط هذا التعليق
شارك

12 دقائق مضت, AbuuAhmed said:

كما أرجو ملاحظة أن السائل عدل المشاركة التي فيها "الموافقة" على شرطي دون أي ملاحظات منه.

استاذي العزيز هل يمكن التعديل عل الكود الخاص بك من فضلك 

على سبيل المثال ان التاريخ الاول على افتراض01-03-2023 والتاريخ الثاني 28-2-2023  اريد ان يكون حاصر الفرق بينهم 3 ايام او مثال ثاني ان التاريخ الاول 01-3-2023 والتاريخ الثاني 6-2-2023  اريد ان يكون حاصل الفرق يكون 25 

رابط هذا التعليق
شارك

5 ساعات مضت, AbuuAhmed said:

مثلما قالها ابو خليل لا يفتي بالمدينة وفيها مالك احسنت وبارك الله فيك هل يتم حل المشكلة بان يكون 360 يوم عن طريق التحايل وحسب الكود عن طريق استخدام round لكي نهمل الكسور وبعد التحايل يصبح 30 يوم لشهر شباط سواء في الحقل الاول او الثاني

رابط هذا التعليق
شارك

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