Ahmed_J قام بنشر مارس 21 قام بنشر مارس 21 (معدل) السلام عليكم لدي ملف فيه الدرجة الوظيفية والمرحلة الوظيفية وجدول الراتب (Salary) عند اختيار الدرجة الوظيفية والمرحلة الوظيفية يقوم البرنامج بجلب الراتب من الجدول في حقل (الراتب القديم) .وهو يعمل جيدا لدي طلبين الطلب الاول: جلب الراتب الجديد من الجدول في حقل (الراتب الجديد) بشرط اضافة عدد العلاوات مثلا (3) علاوات اي احتساب ثلاث حقول بعد الراتب القديم في الجدول salary من اليمين الى البسار وفي حالة انتهاء الحقول ينتقل الى الحقول الاعلى وهكذا كما في الصورة بحيث يكون الراتب الصحيح هو (296000) الطلب الثاني: تعديل الدرجة الوظيفية الجديدة والمرحلة الوظيفية الجديدة بناءً على الراتب الجديد من الجدول (salary) علما بان (Gradeno) هي الدرجة الوظيفية و الارقام من (1-5) هي المرحلة الوظيفية تحياتي Ahmed.mdb تم تعديل مارس 21 بواسطه Ahmed_J
Ahmed_J قام بنشر مارس 22 الكاتب قام بنشر مارس 22 (معدل) السلام عليكم هل ممكن احد الاساتذه يخبرني هل يوجد حل ام لا تحياتي للجميع تم تعديل مارس 22 بواسطه Ahmed_J
Barna قام بنشر مارس 22 قام بنشر مارس 22 23 دقائق مضت, Ahmed_J said: هل ممكن احد الاساتذه يخبرني هل يوجد حل ام ل ممكن يكون لها حل ... انتظر حتى اصل لجهازي او ممكن تجد اجابة من الاخوة الكرام 2
Ahmed_J قام بنشر مارس 22 الكاتب قام بنشر مارس 22 السلام عليكم استاذي العزيز @Barna الله يبارك فيك تحياتي
Ahmed_J قام بنشر مارس 22 الكاتب قام بنشر مارس 22 (معدل) استاذ @Barna النتائج صحيحة بالصور بالنسبة للدرجة 8-2 لكن الجدول سوف يتغير من الدرجة الخامسة فيه حقل مختلف شكرا لك تم تعديل مارس 22 بواسطه Ahmed_J
Barna قام بنشر مارس 22 قام بنشر مارس 22 45 دقائق مضت, Ahmed_J said: لكن الجدول سوف يتغير من الدرجة الخامسة فيه حقل مختلف 1
Ahmed_J قام بنشر مارس 22 الكاتب قام بنشر مارس 22 (معدل) تعم صحيحة النتائج بس اتمنى التجربة في الدرجة الخامسة صعودا يعني الخامسة او الرابعة تم تعديل مارس 22 بواسطه Ahmed_J
Barna قام بنشر مارس 22 قام بنشر مارس 22 21 دقائق مضت, Ahmed_J said: بس اتمنى التجربة في الدرجة الخامسة صعودا 2 1
Ahmed_J قام بنشر مارس 22 الكاتب قام بنشر مارس 22 (معدل) استاذ كلها صحيحة فقط اريد مثال آخر واحد فقط من الدرجة السادسة الى الخامسة بسبب اختلاف الحقول تحياتي تم تعديل مارس 22 بواسطه Ahmed_J
Eng.Qassim قام بنشر مارس 22 قام بنشر مارس 22 السلام عليكم.. استاذ احمد...لماذا لا تعتمد سنوات الخدمة في احتساب الراتب عملت لك هذه الشفرة ..وهي شغالة بالنسبة (للبكلوريوس) لانها تبدأ من الدرجة السابعة فقط مرر سنوات الخدمة عبر startDate في الدالة Function IncreaseSalary(startDate As Double) As Double Dim years As Double Dim newSalary As Double years = startDate '7 If years <= 4 Then newSalary = 296 + ((years - 1) * 6) '6 ElseIf years > 4 And years <= 8 Then newSalary = 362 + ((years - 5) * 6) '5 ElseIf years > 8 And years <= 12 Then newSalary = 429 + ((years - 9) * 6) '4 ElseIf years > 12 And years <= 17 Then newSalary = 509 + ((years - 13) * 8) '3 ElseIf years > 17 And years <= 22 Then newSalary = 600 + ((years - 18) * 10) '2 ElseIf years > 22 And years <= 27 Then newSalary = 723 + ((years - 23) * 17) '1 Else newSalary = 910 + ((years - 28) * 20) End If IncreaseSalary = newSalary End Function 1 1
Barna قام بنشر مارس 22 قام بنشر مارس 22 32 دقائق مضت, Ahmed_J said: فقط اريد مثال آخر واحد فقط من الدرجة السادسة الى الخامسة بسبب اختلاف الحقول 2
Ahmed_J قام بنشر مارس 22 الكاتب قام بنشر مارس 22 استاذ @Barna كل شيء تمام الله يبارك فيك ويجعلها في ميزان حسناتك يارب تحياتي
Ahmed_J قام بنشر مارس 22 الكاتب قام بنشر مارس 22 (معدل) السلام عليكم استاذ @Eng.Qassim شلونك ان شاء الله تكون بالف خير جربت الكود وهو شغال لازم تعمل كود لكل شهادة على حده (دكتوراه و ماجستير و دبلوم عالي) الخ تسلم شيء روعة والله انا عم اعمل برنامج لاضافة الخدمة (العقد والاجر اليومي) الخ انت عارف ان اغلب الموظفين القدماء لايتناسب الراتب مع الخدمة (تسكين) الخ ربي يحفظك من كل مكروه تحياتي تم تعديل مارس 22 بواسطه Ahmed_J 1
أفضل إجابة Barna قام بنشر مارس 22 أفضل إجابة قام بنشر مارس 22 39 دقائق مضت, Ahmed_J said: كل شيء تمام Dim db As DAO.Database Dim rs As DAO.Recordset Dim fld As DAO.Field Dim searchNumber As Long Dim found As Boolean searchNumber = Me.C Set db = CurrentDb() Set rs = db.OpenRecordset("SELECT Salary.GradeNO, Salary.[1], Salary.[2], Salary.[3], Salary.[4], Salary.[5] FROM Salary ORDER BY Salary.GradeNO DESC;", dbOpenDynaset) i = 0 found = False Do Until rs.EOF For Each fld In rs.Fields If Not IsNull(fld.Value) And fld.Value = searchNumber Then found = True ElseIf found And Not IsNull(fld.Value) And i < Me.D And fld.Name <> "GradeNO" Then i = i + 1 Me.G = fld.Value Me.E = rs!GradeNO Me.F = fld.Name End If Next fld rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing 2 2
gavan قام بنشر مارس 23 قام بنشر مارس 23 اخي الغالي احمد، كل ماذكرته باعتقادي يتم عن طريق ربط الجداول بالطريقة الصحيحة، كيف جدول الموظفين و جدول المراتب و جدول الدرجات ويتم تكوين جدول تقاطعي لل Salary تحياتي الك🌹🌹
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.