Ahmed_J قام بنشر يناير 16, 2023 قام بنشر يناير 16, 2023 (معدل) السلام عليكم اساتذتي الاعزاء لدي ملف فيه ثلاث جداول الاول (salary) فيه جدول الرواتب والثاني (table1) فيه معلومات عن الموظف والثالث (tp1) جدول القيم ويحتوي على (110) قيمة المطلوب : تعديل كود ايجاد قيمة رقم من الجدول (tp1) يعني قيمة في النموذج الرئيسي على شرطين 1- الشرط الاول / عدد الاطفال الموجود بالنموذج وهو مثبت في الجدول (tp1) من (0-8) 2- الشرط الثاني / قيمة الراتب الموجودة بالنموذج وهي مثبيتة في في اعلى الجدول (tp1) علما انني استخدم وحدة نمطية للاكواد تحياتي للجميع salary.accdb تم تعديل يناير 16, 2023 بواسطه Ahmed_J
jjafferr قام بنشر يناير 16, 2023 قام بنشر يناير 16, 2023 وعليكم السلام 🙂 اعطينا مثال او اثنين لوسمحت 🙂 جعفر 1
Ahmed_J قام بنشر يناير 16, 2023 الكاتب قام بنشر يناير 16, 2023 (معدل) السلام عليكم استاذ جعفر المثال موجود بالصورة المرفقة يعني اريد جلب قيمة من الجدول (tp1) للنموذج بناء على شرطين شرط عدد الاطفال وشرط الراتب وهما موجودين في النموذج وفي الجدول (tp1) مثلا موظف راتبه 970000 ولديه طفل واحد (النتيجة بالنموذج) =87,504 مثلا موظف راتبه 581000 ولديه طفلين (النتيجة بالنموذج )= 12077 وهكذا علما بان النموذج المرفق حاليا يجلب البيانات من الجدول (tp1) بصورة صحيحة لغاية الحقل 11 وما زاد عن 11 فهو خطا تحياتي لك استاذ تم تعديل يناير 16, 2023 بواسطه Ahmed_J
أفضل إجابة Moosak قام بنشر يناير 16, 2023 أفضل إجابة قام بنشر يناير 16, 2023 (معدل) وعليكم السلام أخي أحمد 🙂 أنا اشتغلت حسب فهمي وهذي النتيجة : وعملتلك دالة تبحث عن العمود اللي يطابق الراتب اللي في السجل الأول ، ثم عن السجل اللي يطابق عدد الأبناء : Function FinedSubSalary(Salary As Double, NumOfChiledren As Integer) As Double ' Moosak Dim DB As DAO.Database Dim RS As DAO.Recordset Dim x As Integer Set DB = CurrentDb Set RS = DB.OpenRecordset("tp1") RS.MoveLast RS.MoveFirst If RS.EOF Then FinedSubSalary = 0: Exit Function For x = 1 To 110 If RS(x) = Salary Then FinedSubSalary = DLookup("[" & x & "]", "tp1", "Id=" & NumOfChiledren) 'Debug.Print x, Salary GoTo Finish: Else End If Next Finish: RS.Close Set RS = Nothing Set DB = Nothing Exit Function End Function ثم جعلت الدالة هي مصدر بيانات مربع النص (تعطيها الراتب وعدد الأبناء ) .. =FinedSubSalary([xx];[عدد الاطفال]) ثم جعلت النتيجة تتحدث كلما تم تعديل الراتب أو عدد الأبناء في النموذج . والنتيجة كما رأيت .. 🙂 Salary - Moosak.rar تم تعديل يناير 16, 2023 بواسطه Moosak 1
Ahmed_J قام بنشر يناير 16, 2023 الكاتب قام بنشر يناير 16, 2023 (معدل) السلام عليكم استاذ موسى الله بيارك فيك ويجعلها في ميزان حسناتك النتائج طيبة ان شاء الله وجاري تجربة الملف فقط ملاحظة صغيرة لو سمحت تاخر ظهور النتيجة قليلا (بطيئة) هل هو عادي ام لا تم تعديل يناير 16, 2023 بواسطه Ahmed_J
Moosak قام بنشر يناير 16, 2023 قام بنشر يناير 16, 2023 وعليكم السلام ورحمة الله وبركاته أخي أحمد 🙂 اللهم آمين وإياكم .. منذ ساعه, Ahmed_J said: تاخر ظهور النتيجة قليلا (بطيئة) هل هو عادي ام لا تقريبا عادي ما دامه أجزاء من الثانية .. لكن لو زاد فربما يكون إما بسبب المعطيات غير دقيقة أو الجهاز بطيء ..
Ahmed_J قام بنشر يناير 17, 2023 الكاتب قام بنشر يناير 17, 2023 (معدل) السلام عليكم استاذي العزيز موسى @Moosak الله يبارك فيك ويزيد من علمك الحمد لله بعد التجربه كل شيء تمام عاشت ابدك فقط لدي سؤال واحد لو سمحت؟ هل يمكن وضع شرط آخر لدالة DLookup في داخل الوحدة النمطية (الكود فقط) والشرط موجود في النموذج مثلا (متزوج) و (اعزب) علما بان لدي نموذجين يعملان على نفس الوحدة النطية 22 ساعات مضت, Moosak said: FinedSubSalary = DLookup("[" & x & "]", "tp1", "Id=" & NumOfChiledren) هكذا FinedSubSalary = DLookup("[" & x & "]", "tp1", "Id=" & NumOfChiledren1) And (Forms(aForm).Controls![متزوج]) تحياتي للجميع تم تعديل يناير 17, 2023 بواسطه Ahmed_J
Moosak قام بنشر يناير 17, 2023 قام بنشر يناير 17, 2023 وعليكم السلام أخي أحمد 🙂 الأفضل أن ترفق ملف الأكسس .. العملي أفضل من النظري 🙂 1
Ahmed_J قام بنشر يناير 17, 2023 الكاتب قام بنشر يناير 17, 2023 (معدل) السلام عليكم اخي موسى والله مش عاوز اتعبك معي لانك حللت لي مشكلة كنت اعاني منها المهم الملف المرفق فيي النماذج عدد (2) شرط الحالة الاجتماعية (متزوج واعزب) لو كان متزوج تظهر النتائج لو كان اعزب = صفر المهم الشرط وضعته في الوحدة النمطية هل هو صحيح ام لا وهل يمكن اضافة شروط اخرى تحياتي salary.accdb تم تعديل يناير 17, 2023 بواسطه Ahmed_J
Moosak قام بنشر يناير 18, 2023 قام بنشر يناير 18, 2023 (معدل) وعليكم السلام ورحمة الله وبركاته .. 🙂 تم التعديل أخي أحمد .. الآن الدالة تستقبل مدخل أو متغير إضافي وهو (متزوج ؟) من نوع : نعم/لا - True/False : Function FinedSubSalary(Salary As Double, NumOfChiledren As Integer, Optional IsMarried As Boolean = True) As Double ' Moosak Dim DB As DAO.Database Dim RS As DAO.Recordset Dim x As Integer FinedSubSalary = 0 If IsMarried = False Then Exit Function Set DB = CurrentDb Set RS = DB.OpenRecordset("tp1") RS.MoveLast RS.MoveFirst If RS.EOF Then GoTo Finish: For x = 1 To 110 If RS(x) = Salary Then FinedSubSalary = DLookup("[" & x & "]", "tp1", "Id=" & NumOfChiledren) 'Debug.Print x, Salary GoTo Finish: End If Next Finish: RS.Close Set RS = Nothing Set DB = Nothing Exit Function End Function إذا متزوج تشتغل الدالة وإذا أعزب تعطيك صفر .. وعشان تشتغل زين مع القائمة المنسدلة يلزمنا نحول العبارات (متزوج/أعزب) إلى صيغة (نعم/لا) وهكذا كانت الصيغة في مصدر بيانات مربع النص : =FinedSubSalary([xx];[عدد الاطفال];IIf([الحالة الاجتماعية]="متزوج";True;False)) وهذي هي النتيجة النهائية salary - Moosak - 2.rar تم تعديل يناير 18, 2023 بواسطه Moosak تكملة الدالة 1 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.