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

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

قام بنشر

شباب كيف أحسب مساهمة الراتب والبدلات على المعادلات التالية

مساهمة الراتب ما قبل 1/8/1994

الراتب الأساسي × 0.05 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

بعد 1/8/1994

الراتب الأساسي × 0.06 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

 

 

مساهمة البدلات 

من 2/11/1996

البدلات × 0.06 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

 

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

مساهمة الراتب.rar

قام بنشر

وعليكم السلام

 

الله يطول في عمرك وتكون دوم سالم :smile:

تو انت الله هداك كتبت المعادلات كلها ، قاصر تدخل اسماءها في الكود وخلص الموضوع  :smile:

وين المشكلة؟

 

 

جعفر

قام بنشر

شباب كيف أحسب مساهمة الراتب والبدلات على المعادلات التالية

مساهمة الراتب

 

ما قبل 1/8/1994

الراتب الأساسي × 0.05 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

بعد 1/8/1994

الراتب الأساسي × 0.06 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

 

 

مساهمة البدلات 

من 2/11/1996

البدلات × 0.06 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

 

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

 

السلام عليكم ولد بلادي  :smile:

 

ادري ما سويلك سالفة ، بس السموحة  :imsorry:

التواريخ اللي انا علّمتها بالاحمر ، كيف نحسبها؟

انت عندك في النموذج: التاريخ من ، والتاريخ الى ، فكيف نحسبها ، او من اي حقل نأخذها؟

 

 

جعفر

قام بنشر

 

شباب كيف أحسب مساهمة الراتب والبدلات على المعادلات التالية

مساهمة الراتب

 

ما قبل 1/8/1994

الراتب الأساسي × 0.05 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

بعد 1/8/1994

الراتب الأساسي × 0.06 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

 

 

مساهمة البدلات 

من 2/11/1996

البدلات × 0.06 × ((عدد السنوات × 12) + (عدد الأشهر) + (عدد الأيام /30))

 

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

 

 

نعم ممكن في الكود بس اللي بيصير (حسب فهمي):

اذا انت دخلت التواريخ التالية للموظف لحساب مساهمته: من 1-1-1993  الى 1-1-2000

 

1. لازم نحسب الفترة من 1-1-1993 الى 1-8-1994 (عدد الايام ، وعدد الاشهر ، وعدد السنين) ، ثم نحسب مساهمة الراتب مال هذه الفترة ،

2. لازم نحسب الفترة من 1-8-1994 الى 1-1-2000 (عدد الايام ، وعدد الاشهر ، وعدد السنين) ، ثم نحسب مساهمة الراتب مال هذه الفترة ،

3. نجمع مساهمة الراتب 1 + 2

سؤال: هل طريقتي صحيحة؟

اذا كانت صحيحة ، فلا يوجد معنى لوجود عدد الايام ، وعدد الاشهر ، وعدد السنين في النموذج ، لأنك ما بتعرف هي حال اي مجموعة ، واللي يزيد الطين بلّه ، رقم 4 في الاسفل كذلك  :eek2:

 

4. مساهمة البدلات ، قبل تاريخ 2-11-1996 شو نسوي ابها؟

 

 

جعفر

قام بنشر

 

 

 

نعم ممكن في الكود بس اللي بيصير (حسب فهمي):

اذا انت دخلت التواريخ التالية للموظف لحساب مساهمته: من 1-1-1993  الى 1-1-2000

 

1. لازم نحسب الفترة من 1-1-1993 الى 1-8-1994 (عدد الايام ، وعدد الاشهر ، وعدد السنين) ، ثم نحسب مساهمة الراتب مال هذه الفترة ،

2. لازم نحسب الفترة من 1-8-1994 الى 1-1-2000 (عدد الايام ، وعدد الاشهر ، وعدد السنين) ، ثم نحسب مساهمة الراتب مال هذه الفترة ،

3. نجمع مساهمة الراتب 1 + 2

سؤال: هل طريقتي صحيحة؟

اذا كانت صحيحة ، فلا يوجد معنى لوجود عدد الايام ، وعدد الاشهر ، وعدد السنين في النموذج ، لأنك ما بتعرف هي حال اي مجموعة ، واللي يزيد الطين بلّه ، رقم 4 في الاسفل كذلك  :eek2:

 

الطريقة صحيحة

 

4. مساهمة البدلات ، قبل تاريخ 2-11-1996 شو نسوي ابها؟

 

خليك الآن من البدلات

 

 

جعفر

 

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

السلام عليكم

 

 

جرب الملف المرفق لوسمحت :smile:

 

واذا في اي ملاحظة ، ياريت تعمل لي مثل الجدول: المدة قبل (يوم ، شهر ، سنة) ، المدة بعد (يوم ، شهر ، سنة) ، وتحط النتائج في المعادلة.

 

 

جعفر

63.مساهمة الراتب.accdb.zip

قام بنشر

أشكرك استاذ جعفر في بعض الفترات يطلع الناتج صح وفي بعض الفترات يطلع الناتج خطأ يمكن بسبب إختلاف حساب الفترات من وإلى تقدر الآن تظهر الفترات في النموذج باليوم والشهر والسنة قبل 1/8/1994 وبعد 1/8/1994 حسب النموذج المرفق

 

 

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

63.مساهمة الراتب.rar

قام بنشر

تفضل  :smile:

 

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

Option Compare Database

Private Sub Command18_Click()


'    'get the days, months, years
'    Call YMDDif(Date_From, Date_To)
    
'ما قبل 1/8/1994
'    Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.05 * _
                                    ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30))

'بعد 1 / 8 / 1994
'    Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.06 * _
                                    ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30))
    
    Me.txt_Years = 0
    Me.txt_Months = 0
    Me.txt_Days = 0
    Me.txt_Years_After = 0
    Me.txt_Months_After = 0
    Me.txt_Days_After = 0


    'Check_Date = CDate(1 / 8 / 1994)
    Check_Date = DateSerial(1994, 8, 1)
    

'case 1
    If Me.Date_From >= Check_Date Then
        'get the days, months, years
        Call YMDDif(Date_From, Date_To)
        Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.06 * _
                                    ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30))
        GoTo Exit_1:
    End If
    
    
'case 2
    If Me.Date_From <= Check_Date And Me.Date_To <= Check_Date Then
        'get the days, months, years
        Call YMDDif(Date_From, Date_To)
        Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.05 * _
                                    ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30))
        GoTo Exit_1:
    End If
    
    
'case 3
    If Me.Date_From <= Check_Date Then
        'get the days, months, years
        Call YMDDif(Date_From, Check_Date)
        Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.05 * _
                                    ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30))
    
        'get the days, months, years
        Call YMDDif_After(Check_Date, Date_To)
        Me.Basic_Salary_Contributions = Basic_Salary_Contributions + (Me.Basic_Salary * 0.06 * _
                                    ((Me.txt_Years_After * 12) + (Me.txt_Months_After) + (Me.txt_Days_After / 30)))
    End If
    

    
    
    
    
  
  
  
Exit_1:
'من 2 / 11 / 1996
'    Me.Salary_Additions_Contributions = Me.Salary_Additions * 0.06 * _
                                        ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30))
 
End Sub

Public Sub YMDDif(sDate1, sDate2)
 
    'sdate1 earliest date sdate2 later
 
    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)
    
    Me.txt_Days = iDay
    Me.txt_Months = iMonth Mod 12
    Me.txt_Years = iMonth \ 12
 
    'YMDDif = CStr(y) & " Years " & CStr(M) & " months " & CStr(D) & " days"
End Sub

Public Sub YMDDif_After(sDate1, sDate2)
 
    'sdate1 earliest date sdate2 later
 
    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)
    
    Me.txt_Days_After = iDay
    Me.txt_Months_After = iMonth Mod 12
    Me.txt_Years_After = iMonth \ 12
 
    'YMDDif = CStr(y) & " Years " & CStr(M) & " months " & CStr(D) & " days"
End Sub

انا طلبت منك:

 

 

واذا في اي ملاحظة ، ياريت تعمل لي مثل الجدول: المدة قبل (يوم ، شهر ، سنة) ، المدة بعد (يوم ، شهر ، سنة) ، وتحط النتائج في المعادلة.

 

 

يعني بغيت لما ادخل تواريخ ، اعرف مو نتائجها ، فعلى اساسه اصلح الكود ، بس للأسف انت ما حطيت شئ!!

 

والملف يجب ان يكون مضغوط علشان ترفعه للمنتدى ، ماعدا الصور  :smile:

 

 

جعفر

63.1.مساهمة الراتب.accdb.zip

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