omran2015 قام بنشر مارس 26, 2022 قام بنشر مارس 26, 2022 هل يمكن إحتساب النتيجة في الاستعلامين عن طريق وحدة نمطية بحيث يتم يتم استدعاء النتيجة إلى الاستعلامين من الوحدة النمطية: بحيث يكون كالتالي: أولاً: استعلام Q_Final1 (الدور الأول (1) Semester ) يتم احتساب النتيجة إذا نجح الطالب في جميع المواد فهو ناجح - وإذا رسب في مادة أو أكثر له دور ثان ثانياً: استعلام Q_Final2 (الدور الثاني (2) Semester) يتم احتساب النتيجة إذا كان الطالب نجح في جميع المواد فهو ناجح - وإذا رسب في أقل من أربع مواد فهو مكمل وإذ رسب في أكثر من ثلاث مواد فهو راسب (باقٍ للإعادة) Data_Base.rarData_Base.rar
Moosak قام بنشر مارس 26, 2022 قام بنشر مارس 26, 2022 الملف المرفق فارغ أخي عمران .. لا تظهر الجداولا ولا الاستعلامات ..
omran2015 قام بنشر مارس 26, 2022 الكاتب قام بنشر مارس 26, 2022 42 دقائق مضت, Moosak said: الملف المرفق فارغ أخي عمران .. لا تظهر الجداولا ولا الاستعلامات .. أسف أخي الحبيب تم إظهار الجداول والاستعلامات ملاحظة: درجة النجاح: الحصول على النهاية الصغرى 50 الاحتساب يكون عن طريق TR1 - TR2 - TR3 - TR4 - TR5 - TR6 أما TR7 فغير داخلة في المجموع Data_Base.rarData_Base.rar
ابوبسمله قام بنشر مارس 26, 2022 قام بنشر مارس 26, 2022 السلام عليكم \مشاركه مع اخى الاستاذ @Moosak جزاه الله خيرا اتفضل حاجه على قد حالى عملت لك اول طلب على اول استعلام حاول تنفذ انت الطلب التانى اخى @omran2015 Function dragat(t1 As Integer, t2 As Integer, t3 As Integer, t4 As Integer, t5 As Integer, t6 As Integer) If t1 >= 50 And t2 >= 50 And t3 >= 50 And t4 >= 50 And t5 >= 50 And t6 >= 50 Then dragat = "ناجح" Else dragat = "دور ثان" End If End Function بالتوفيق Data_Base.mdb 1
omran2015 قام بنشر مارس 26, 2022 الكاتب قام بنشر مارس 26, 2022 بارك الله فيك أخي الفلاحجي على ردك الطيب ولكن ليس هذا ما أريد أريد أن اتخلص من إظهار المجموع الكلي والمعدل والتقدير وعدد مواد الرسوب والنتيجة النهائية (ناجح / دور ثان / مكمل / راسب) حسب الشرح السابق في منشئ التعبير والاحتساب يكون عن طريق الكود ثم يتم الاستدعاء الى الاستعلام فقط. هذا أفضل تقريباً من منشئ التعبير ولهذا أرفقت المثال للتعديل عليه ملاحظة: أنا أتعامل مع الفيجوال بيسك وأعتقد أن العمليات الحسابية في الاستعلام أكثر مرونة وأدق من الفيجوال بيسك
ابوبسمله قام بنشر مارس 26, 2022 قام بنشر مارس 26, 2022 وفيك بارك الله اخى @omran2015 واعتذر لك عن عدم فهمى لما تريد وان شاء الله احد اخواننا او اساتذتنا الافاضل يجيبك عن سؤالك بالتوفيق
د.كاف يار قام بنشر مارس 27, 2022 قام بنشر مارس 27, 2022 تفضل هذه المحاولة للحصول على نتيجة الفصل الأول Public Function Semester1(StudintID As Integer) As String Dim AllMwad As Integer, Set1 As Integer, Set2 As Integer 'Set1 = ناجح / Set2= دور ثاني AllMwad = DCount("*", "Q_Final1", "ID=" & StudintID) Set1 = DCount("*", "Q_Final1", "ID=" & StudintID & " And resultt='ناجح'") Set2 = DCount("*", "Q_Final1", "ID=" & StudintID & " And resultt='دور ثان'") If AllMwad = Set1 Then Semester1 = "ناجح" Else Semester1 = "دور ثان" End If Debug.Print Semester1 End Function و للحصول على نتيجة الفصل الثاني Public Function Semester2(StudintID As Integer) As String Dim AllMwad As Integer, Set1 As Integer, Set2 As Integer AllMwad = DCount("*", "Q_Final2", "ID=" & StudintID) Set1 = DCount("*", "Q_Final2", "ID=" & StudintID & " And resultt='ناجح'") Set2 = DCount("*", "Q_Final2", "ID=" & StudintID & " And resultt='راسب'") If AllMwad = 0 Then Semester2 = "لم يختبر" ElseIf AllMwad = Set1 Then Semester2 = "ناجح" ElseIf Set2 < 3 Then Semester2 = "مكمل" ElseIf Set2 > 3 Then Semester2 = "باقٍ للإعادة" End If Debug.Print Semester2 End Function و للاستدعاء كما يلي نتيجة الفصل الأول Call Semester1([ID]) نتيجة الفصل الثاني Call Semester2([ID]) مرفق الملف بعد التعديل Data_Base.zip 2
Moosak قام بنشر مارس 27, 2022 قام بنشر مارس 27, 2022 (معدل) سبقني إليها الأستاذ د.كاف يار أثناء اشتغالي بها ما شاء الله عليه 🙂 هذه محاولتي .. جعلتها في دالة واحدة للفصلين ، وأضطررت لإضافة حقل ترقيم تلقائي في كلا الجدولين للتأكد من وجود رقم مميز لكل سجل وعدم اختلاط النتائج .. 🙂 Public Function FinalResult(ID As Long, TblFinal As String) As String Dim x As Integer: x = 0 Dim n As String Dim TR1 As Double Dim TR2 As Double Dim TR3 As Double Dim TR4 As Double Dim TR5 As Double Dim TR6 As Double Dim DB As DAO.Database Dim RS As DAO.Recordset Set DB = CurrentDb Set RS = DB.OpenRecordset("select * from " & TblFinal & " where [AutoNum] = " & ID & " ;") TR1 = RS!TR1 TR2 = RS!TR2 TR3 = RS!TR3 TR4 = RS!TR4 TR5 = RS!TR5 TR6 = RS!TR6 If TR1 < 50 Then x = x + 1 If TR2 < 50 Then x = x + 1 If TR3 < 50 Then x = x + 1 If TR4 < 50 Then x = x + 1 If TR5 < 50 Then x = x + 1 If TR6 < 50 Then x = x + 1 Select Case TblFinal Case "TBL_Final1" If x >= 1 Then n = "دور ثان" Else n = "ناجح" End If FinalResult = n Case "TBL_Final2" If x > 0 And x < 3 Then n = "مكمل" ElseIf x >= 4 Then n = "باقٍ للإعادة" ElseIf n = 0 Then n = "ناجح" End If FinalResult = n End Select RS.Close Set DB = Nothing Set RS = Nothing End Function والنتيجة في العمود الأخير لكلا الاستعلامين .. احتساب النتيجة عن طريق وحدة نمطية.mdb تم تعديل مارس 27, 2022 بواسطه Moosak 2
omran2015 قام بنشر مارس 27, 2022 الكاتب قام بنشر مارس 27, 2022 بارك الله فيكم أساتذتي الكرام والإخوة الأفاضل ولكن لماذا الاستعلامات عندي ما تفتح
Moosak قام بنشر مارس 28, 2022 قام بنشر مارس 28, 2022 في 27/3/2022 at 16:03, omran2015 said: بارك الله فيكم أساتذتي الكرام والإخوة الأفاضل ولكن لماذا الاستعلامات عندي ما تفتح الأمور شغالة تمام معانا 🙂 1
omran2015 قام بنشر مارس 28, 2022 الكاتب قام بنشر مارس 28, 2022 5 ساعات مضت, Moosak said: الأمور شغالة تمام معانا 🙂 تم الحل بارك الله فيك ورحم والديك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.