nizarqassm قام بنشر يوليو 1, 2023 قام بنشر يوليو 1, 2023 السلام عليكم كتبت داله iif لكتابة ناجح وراسب ولكن مشكلتي في الخلايا الفارغة ايضا يكتب فيها راسب لانها فارغة ... فكيف يكون اذا كانت الخليه فارغة لا تحتوي على درجة لا يكتب راسب مع الشكر الجزيل
jjafferr قام بنشر يوليو 1, 2023 قام بنشر يوليو 1, 2023 وعليكم السلام 🙂 اذن ، اذا لم يوجد رقم ، تريده لا يتكتب شيء ، فيمكننا استعمال الامر IsNumeric([Grade]) (هل حقل Grade رقم) ، جرب هذا الكود : iif(IsNumeric([Grade]);""; iif([Grade]<50; "راسب"; "ناجح"))
nizarqassm قام بنشر يوليو 1, 2023 الكاتب قام بنشر يوليو 1, 2023 (معدل) شكرا جزيلا استاذ ولكن انا عندي مجموعة دروس IIf([الاسلامية الدرجة بعد الاكمال]>=49.5 And [العربية الدرجة بعد الاكمال]>=49.5 And [الانكليزية الدرجة بعد الاكمال]>=49.5 And [الرياضيات الدرجة بعد الاكمال]>=49.5 And [الحاسوب الدرجة بعد الاكمال]>=49.5 And [الفيزياء الدرجة بعد الاكمال]>=49.5 And [الكيمياء الدرجة بعد الاكمال]>=49.5 And [الاحياء الدرجة بعد الاكمال]>=49.5 And [علم الارض الدرجة بعد الاكمال];"ناجح ";"راسب") تم تعديل يوليو 1, 2023 بواسطه Moosak تنسيق الكود
jjafferr قام بنشر يوليو 1, 2023 قام بنشر يوليو 1, 2023 تقدر تعمل وحدة نمطية ، ولكن الافضل ان نرى البيانات
nizarqassm قام بنشر يوليو 1, 2023 الكاتب قام بنشر يوليو 1, 2023 (معدل) 14 دقائق مضت, jjafferr said: تقدر تعمل وحدة نمطية ، ولكن الافضل ان نرى البيانات هل تقصد ارفق لك الجدول الخاص باليبانات تم تعديل يوليو 1, 2023 بواسطه nizarqassm
jjafferr قام بنشر يوليو 1, 2023 قام بنشر يوليو 1, 2023 26 دقائق مضت, nizarqassm said: هل تقصد ارفق لك الجدول الخاص باليبانات نعم لوسمحت
jjafferr قام بنشر يوليو 1, 2023 قام بنشر يوليو 1, 2023 عملت استعلام ، يرسل رقم المعرف الى الدالة Pass في وحدة نمطية ، ويحصل على النتيجة منها : . وهذه الدالة (تركت لك بقية حقول الجدول ، قد تستفيد منها لاحقا) : Option Compare Database Option Explicit Dim rst As DAO.Recordset ' Function Pass(ID As Long) As String On Error GoTo err_Pass 'IIf([الاسلامية الدرجة بعد الاكمال]>=49.5 And [العربية الدرجة بعد الاكمال]>=49.5 And [الانكليزية الدرجة بعد الاكمال]>=49.5 And [الرياضيات الدرجة بعد الاكمال]>=49.5 And [الحاسوب الدرجة بعد الاكمال]>=49.5 And [الفيزياء الدرجة بعد الاكمال]>=49.5 And [الكيمياء الدرجة بعد الاكمال]>=49.5 And [الاحياء الدرجة بعد الاكمال]>=49.5 And [علم الارض الدرجة بعد الاكمال];"ناجح ";"راسب") Set rst = CurrentDb.OpenRecordset("SELECT * FROM [الصف الخامس جميع الدرجات] WHERE [المعرف]=" & ID) If Len(rst![الاسلامية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![العربية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الانكليزية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الرياضيات الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الحاسوب الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الفيزياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الكيمياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الاحياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![علم الارض الدرجة بعد الاكمال] & "") = 0 Then Pass = "" ElseIf rst![الاسلامية الدرجة بعد الاكمال] >= 49.5 And _ rst![العربية الدرجة بعد الاكمال] >= 49.5 And _ rst![الانكليزية الدرجة بعد الاكمال] >= 49.5 And _ rst![الرياضيات الدرجة بعد الاكمال] >= 49.5 And _ rst![الحاسوب الدرجة بعد الاكمال] >= 49.5 And _ rst![الفيزياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الكيمياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الاحياء الدرجة بعد الاكمال] >= 49.5 And _ rst![علم الارض الدرجة بعد الاكمال] >= 49.5 Then Pass = "ناجح" Else Pass = "راسب" End If Exit_Pass: rst.Close: Set rst = Nothing Exit Function err_Pass: If Err.Number = 1 Then Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Pass End If 'a = [المعرف] 'a = [تسلسل] 'a = [اسم الطالب الرباعي] 'a = [الصف] 'a = [الشعبة] 'a = [التولد] 'a = [رقم القيد] 'a = [رقم الصفحة] 'a = [اسم الام] 'a = [سنوات الرسوب] 'a = [آخر مدرسة] 'a = [الملاحظات] 'a = [اسلامية معدل النصف الاول] 'a = [اسلامية درجة نصف السنة] 'a = [اسلامية معدل النصف الثاني] 'a = [اسلامية درجة السعي السنوي] 'a = [اسلامية درجة امتحان آخر السنة] 'a = [اسلامية الدرجة النهائية] 'a = [الاسلامية درجة الاكمال] 'a = [الاسلامية الدرجة بعد الاكمال] 'a = [اسلامية] 'a = [العربية] 'a = [الكردية] 'a = [الانكليزية] 'a = [الرياضيات] 'a = [الحاسوب] 'a = [الفيزياء] 'a = [الكيمياء] 'a = [الاحياء] 'a = [علم الارض] 'a = [العام الدراسي] 'a = [نتيجة الدور الاول] 'a = [نتيجة الدور الثاني] 'a = [نتيجة الطالب] 'a = [مواد الاكمال] 'a = [رفـع بقرار بالمواد الدراسية] 'a = [الدرجة المضافة] 'a = [من] 'a = [الى] 'a = [باقي القرار] 'a = [مواد الاعفاء] 'a = [نوع الاعفاء] End Function والنتيجة من البيانات التي في الجدول: 1570.test.accdb.zip
nizarqassm قام بنشر يوليو 1, 2023 الكاتب قام بنشر يوليو 1, 2023 شكرا جزيلا استاذ سوف اقوم بتجربة ما تفضلت به
أفضل إجابة jjafferr قام بنشر يوليو 1, 2023 أفضل إجابة قام بنشر يوليو 1, 2023 واذا عندك صفوف غير "الصف الخامس جميع الدرجات" ، فيمكننا تعديل الدالة ، بحيث تستخدمها لجميع الصفوف : والدالة: Option Compare Database Option Explicit Dim rst As DAO.Recordset ' Function Pass(ID As Long, Clss As String) As String On Error GoTo err_Pass 'Clss= Class = اسم جدول الصفوف مثل: الصف الخامس جميع الدرجات 'ID = المعرف = معرف السجل 'IIf([الاسلامية الدرجة بعد الاكمال]>=49.5 And [العربية الدرجة بعد الاكمال]>=49.5 And [الانكليزية الدرجة بعد الاكمال]>=49.5 And [الرياضيات الدرجة بعد الاكمال]>=49.5 And [الحاسوب الدرجة بعد الاكمال]>=49.5 And [الفيزياء الدرجة بعد الاكمال]>=49.5 And [الكيمياء الدرجة بعد الاكمال]>=49.5 And [الاحياء الدرجة بعد الاكمال]>=49.5 And [علم الارض الدرجة بعد الاكمال];"ناجح ";"راسب") Set rst = CurrentDb.OpenRecordset("SELECT * FROM [" & Clss & "] WHERE [المعرف]=" & ID) If Len(rst![الاسلامية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![العربية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الانكليزية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الرياضيات الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الحاسوب الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الفيزياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الكيمياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الاحياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![علم الارض الدرجة بعد الاكمال] & "") = 0 Then Pass = "" ElseIf rst![الاسلامية الدرجة بعد الاكمال] >= 49.5 And _ rst![العربية الدرجة بعد الاكمال] >= 49.5 And _ rst![الانكليزية الدرجة بعد الاكمال] >= 49.5 And _ rst![الرياضيات الدرجة بعد الاكمال] >= 49.5 And _ rst![الحاسوب الدرجة بعد الاكمال] >= 49.5 And _ rst![الفيزياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الكيمياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الاحياء الدرجة بعد الاكمال] >= 49.5 And _ rst![علم الارض الدرجة بعد الاكمال] >= 49.5 Then Pass = "ناجح" Else Pass = "راسب" End If Exit_Pass: rst.Close: Set rst = Nothing Exit Function err_Pass: If Err.Number = 1 Then Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Pass End If 'a = [المعرف] 'a = [تسلسل] 'a = [اسم الطالب الرباعي] 'a = [الصف] 'a = [الشعبة] 'a = [التولد] 'a = [رقم القيد] 'a = [رقم الصفحة] 'a = [اسم الام] 'a = [سنوات الرسوب] 'a = [آخر مدرسة] 'a = [الملاحظات] 'a = [اسلامية معدل النصف الاول] 'a = [اسلامية درجة نصف السنة] 'a = [اسلامية معدل النصف الثاني] 'a = [اسلامية درجة السعي السنوي] 'a = [اسلامية درجة امتحان آخر السنة] 'a = [اسلامية الدرجة النهائية] 'a = [الاسلامية درجة الاكمال] 'a = [الاسلامية الدرجة بعد الاكمال] 'a = [اسلامية] 'a = [العربية] 'a = [الكردية] 'a = [الانكليزية] 'a = [الرياضيات] 'a = [الحاسوب] 'a = [الفيزياء] 'a = [الكيمياء] 'a = [الاحياء] 'a = [علم الارض] 'a = [العام الدراسي] 'a = [نتيجة الدور الاول] 'a = [نتيجة الدور الثاني] 'a = [نتيجة الطالب] 'a = [مواد الاكمال] 'a = [رفـع بقرار بالمواد الدراسية] 'a = [الدرجة المضافة] 'a = [من] 'a = [الى] 'a = [باقي القرار] 'a = [مواد الاعفاء] 'a = [نوع الاعفاء] End Function 1570.1.test.accdb.zip
nizarqassm قام بنشر يوليو 1, 2023 الكاتب قام بنشر يوليو 1, 2023 استاذ الفاضل ايضا كتبت كلمة راسب ... وحقول الدرجات فارغة بمجرد كتابة اسم الطالب تظهر كلمة راسب قصدت اذا كانت حقول الدرجات فارغة يبقى حقل النتيجة فرغ يبدو ان البرنامج يتعامل مع الحقول الفارغة على انها صفر
jjafferr قام بنشر يوليو 1, 2023 قام بنشر يوليو 1, 2023 اخي الفاضل نزار ، انا لم اذكر النماذح ولم اتعامل معها ، فعملي كان في الاستعلام 100% اعطني دقيقة لتعمل الذي تريده تفضل ، تم تغيير مصدر بيانات النموذج الى الاستعلام 1570.2.test.accdb.zip
nizarqassm قام بنشر يوليو 1, 2023 الكاتب قام بنشر يوليو 1, 2023 الاستاذ الفاضل والاخ المفضال شكرا جزيلا وجزاء الله خير جزاء المحسنين بوركت
شايب قام بنشر يوليو 3, 2023 قام بنشر يوليو 3, 2023 2 ساعات مضت, شايب said: كان في موضوع الحقول الفارغة لكن للاسف اغلقت الملف بشكل اجباري هنق الجهاز بدون حفظ التعديل هذا الموضوع علمت بطريقتين الاولى مباشرة على النموذج بدون الحاجة لاستعلام باستخدام خاصية tag حددت الحقول العشرة بعلامة * ثم عملت حلقة تمر على الحقول المحددة اذا كان فارغ نعود بفارغ وننهي الاجراء وان كانت الحقول غير فارعة نعوض بـ 1 لكل حقل اكبر او يساوي الحد الادنى للنجاح او نعوض بصفر ثم اذا كان العدد =10 ناجح اقل راسب الطريقة باستعلام برقم المعرف والحقول العشرة التي استخدمتها اخي جعفر في طريقتك وهنا لاداعي لكتابة اسماء الحقول وايضا بنفس طريقة العد على كل حال لعل لنا لقاء في موضوع اخر اخيرا ايضاح من اخونا شايب مشاركاته لا تقدم حلول بديلة وانما مجرد افكار تحتمل الصواب احيانا و الخطأ في اغلب الاحيان 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.