المشاركات : 761
المواضيع 134
الإنتساب : May 2015
السمعة :
62
الشكر: 667
تم شكره 1388 مرات في 627 مشاركات
14-11-21, 10:50 AM
(آخر تعديل لهذه المشاركة : 15-11-21, 01:05 PM {2} بواسطة مصمم هاوي.)
السلام عليكم ورحمة الله وبركاته
عندي جدول درجات الدور الثاني باسم TBL_Final5
وحقول مجموع المواد الدراسية عددها 12 وهى: TR1 . TR2 . TR3 ..... إلى (TR12)
درجات النجاح لكل مــادة هى (40) ماعدا مــادة واحــدة درجة النجاح هى (tr5 = 80)
المطلــوب:
أريد فقط كيفية عرض الطلبــة الراسبين في الدور الأول حسب مواد الرسوب في الليست بوكس وكذلك الفليكس قريد
بمعنى عندما اختار مادة من الكومبوكس يعرض الطلبة الراسبين في هذه المــادة في الليست بوكس والفليكس بوكس
ملاحظة:
الفورم Form_Exim2 خاص بعرض الطلبة الراسبين في الليست بوكس (L1)
الفورم Form_Semester3 خاص بعرض الطلبة الراسبين في (MSHFlexGrid1)
حقل الدور الأول يُرمز له بالرقـــم (3) في حقل (Semester) و (tag)
أرجــو أن تكون الصــورة قد وضحت وهى عرض الطلبـة الراسبين في الدور الأول حسب المــادة
مثال في المرفقات
عرض الطلبة الراسبين حسب المادة.rar (الحجم : 1.01 م ب / التحميلات : 21)
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
المشاركات : 761
المواضيع 134
الإنتساب : May 2015
السمعة :
62
الشكر: 667
تم شكره 1388 مرات في 627 مشاركات
15-11-21, 02:27 PM
(آخر تعديل لهذه المشاركة : 16-11-21, 02:52 AM {2} بواسطة مصمم هاوي.)
عذرا على الازعاج؛ ولكنه حب الإطلاع واستعجال النتائج وانتظار الجواب.
ههههههه
وإذا لم يكن أحدٌ من الأساتذة له وقتٌ لينظر هذا السؤال ويحلَّ الإشكال فليعدل على هذا الكود فقط
حيث استطعتُ أن أعرض مادة رسوب واحدة مثل ما في هذا الكود ( tr1 < 40) حسب الاختيار من الكومبوس Combo1
ولكن أريدُ أن أعرض 12 مـادة إذا كانت درجة النجاح أقل من 40 ماعدا مادة واحدة درجة النجاح أقل من 80 وهى tr5
tr1 - tr2 - tr3 - tr4 - tr5 - tr6 - tr7 - tr8 - tr9 - tr10 - tr11 - tr12
كود :
Call ConnectionDatabase
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT * FROM [TB1] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr1 < 40 AND [Category] = '" & Trim(CombCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
L1.Clear
For I = 0 To rs.RecordCount - 1
L1.AddItem rs![Name_Student]
L1.ItemData(L1.NewIndex) = rs![ID]
rs.MoveNext
Next
'
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
المشاركات : 761
المواضيع 134
الإنتساب : May 2015
السمعة :
62
الشكر: 667
تم شكره 1388 مرات في 627 مشاركات
18-11-21, 12:29 AM
(آخر تعديل لهذه المشاركة : 18-11-21, 12:56 AM {2} بواسطة مصمم هاوي.)
تم حل المشكلة بهذا الكود الطويل والمزعج فمن يريد تطوير هذا الكود فياهلا به
كود :
' عرض الطلبــة الراسبين حسب المــادة الراسبين فيه
Select Case CombSClas.ListIndex
'
Case 0
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND Semester=3 AND tag=3 AND tr1 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 1
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr2 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 2
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr3 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 3
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=5 AND tr4 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 4
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr5 < 80 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 5
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr6 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 6
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr7 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 7
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr8 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 8
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=2 AND tr9 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 9
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final4] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr10 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 10
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr11 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
Case 11
Call ConnectionDatabase
If RS.State = adStateOpen Then RS.Close
RS.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & _
"' AND tag=3 AND tr12 < 40 AND [Category] = '" & Trim(TextCategory.Text) & _
"'", DB, adOpenStatic, adLockOptimistic
End Select
'
L1.Clear
For I = 0 To RS.RecordCount - 1
L1.AddItem RS![Name_Student]
L1.ItemData(L1.NewIndex) = RS![ID]
RS.MoveNext
Next
'
Form_Exim2.LCount.Caption = " عدد الطلبــة الراسبين في مــادة : " & " " & Form_Exim2.CombSClas.Text & " - " & RS.RecordCount & ""
'
Exit Sub
'
ShowDegree 1
''''''''''''''
TextB_GotFocus
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
المشاركات : 1,038
المواضيع 15
الإنتساب : May 2016
السمعة :
251
الشكر: 678
تم شكره 1901 مرات في 984 مشاركات
السلام عليكم رحمة الله وبركاته،،
هل هذا الاختصار يعتبر مريح ؟؟
كود :
' عرض الطلبــة الراسبين حسب المــادة الراسبين فيها
Dim strSearh As String
Select Case CombSClas.ListIndex
Case 0
strSearh = "Semester=3 AND tr1 < 40"
Case 1
strSearh = "tr2 < 40"
Case 2
strSearh = "tr3 < 40"
Case 3
strSearh = "tr4 < 40"
Case 4
strSearh = "tr5 < 80"
Case 5
strSearh = "tr6 < 40"
Case 6
strSearh = "tr7 < 40"
Case 7
strSearh = "tr8 < 40"
Case 8
strSearh = "tr9 < 40"
Case 9
strSearh = "tr10 < 40"
Case 10
strSearh = "tr11 < 40"
Case 11
strSearh = "tr12 < 40"
End Select
Call ConnectionDatabase
If Rs.State = adStateOpen Then Rs.Close
Rs.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & "' AND [Clas] = '" & Trim(CombClass.Text) & "' AND tag=3 " & strSearh & " AND [Category] = '" & Trim(TextCategory.Text) & "'", DB, adOpenStatic, adLockOptimistic
L1.Clear
For I = 0 To Rs.RecordCount - 1
L1.AddItem Rs![Name_Student]
L1.ItemData(L1.NewIndex) = Rs![ID]
Rs.MoveNext
Next
'
Form_Exim2.LCount.Caption = " عدد الطلبــة الراسبين في مــادة : " & " " & Form_Exim2.CombSClas.Text & " - " & Rs.RecordCount & ""
'
Exit Sub
'
ShowDegree 1
''''''''''''''
TextB_GotFocus
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
المشاركات : 761
المواضيع 134
الإنتساب : May 2015
السمعة :
62
الشكر: 667
تم شكره 1388 مرات في 627 مشاركات
18-11-21, 02:59 AM
(آخر تعديل لهذه المشاركة : 18-11-21, 03:03 AM {2} بواسطة مصمم هاوي.)
بارك الله فيك أخي طه فهو كودٌ مختصرٌ ولكن يظهر خطأ في هذا الجزء من الكود كما هو موضحٌ في الصورة
كود :
If Rs.State = adStateOpen Then Rs.Close
Rs.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & "' AND [Clas] = '" & Trim(CombClass.Text) & "' AND tag=3 " & strSearh & " AND [Category] = '" & Trim(TextCategory.Text) & "'", DB, adOpenStatic, adLockOptimistic
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
المشاركات : 1,038
المواضيع 15
الإنتساب : May 2016
السمعة :
251
الشكر: 678
تم شكره 1901 مرات في 984 مشاركات
التصحيح :
كود :
Rs.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & "' AND tag=3 And " & strSearh & _
" AND [Category] = '" & Trim(TextCategory.Text) & "'", DB, adOpenStatic, adLockOptimistic
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
المشاركات : 761
المواضيع 134
الإنتساب : May 2015
السمعة :
62
الشكر: 667
تم شكره 1388 مرات في 627 مشاركات
18-11-21, 09:46 AM
(آخر تعديل لهذه المشاركة : 18-11-21, 09:47 AM {2} بواسطة مصمم هاوي.)
(18-11-21, 03:36 AM)Taha Okla كتب : التصحيح :
كود :
Rs.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & "' AND tag=3 And " & strSearh & _
" AND [Category] = '" & Trim(TextCategory.Text) & "'", DB, adOpenStatic, adLockOptimistic
كم أنــت أروع بهـــذا الكود الرائـــع, فهــو كودٌ مختصــرٌ ومفيد وقد أدى الغرض المطلــوب
لقد خففتَ عني كثيراً من الضغط النفسي والإرهاق الجسدي
بارك الله فيك, وجزاك كلَّ خيرٍ, وجعلَ ما قدمتَ في ميزان حسناتكَ
ورفع الله قدركَ في الدنيا والآخرة
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
المشاركات : 1,038
المواضيع 15
الإنتساب : May 2016
السمعة :
251
الشكر: 678
تم شكره 1901 مرات في 984 مشاركات
ولا زال بالامكان اختصاره أكثر -
بحيث نختصر حالة Select على ثلاث حالات فقط
وبها نناقش كل الحالات الـ 12 لديك
..
ولكن توقفت عند هذا الحد
لأنه أسهل للفهم متى رجعت إليه مستقبلاً ..
..
وهذا من فضل ربي - فـ لله الحمد من قبل ومن بعد ..
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
المشاركات : 761
المواضيع 134
الإنتساب : May 2015
السمعة :
62
الشكر: 667
تم شكره 1388 مرات في 627 مشاركات
(18-11-21, 04:37 PM)Taha Okla كتب : ولا زال بالامكان اختصاره أكثر -
بحيث نختصر حالة Select على ثلاث حالات فقط
وبها نناقش كل الحالات الـ 12 لديك
..
ولكن توقفت عند هذا الحد
لأنه أسهل للفهم متى رجعت إليه مستقبلاً ..
..
وهذا من فضل ربي - فـ لله الحمد من قبل ومن بعد ..
بعد الأستاذ الفاضل أحمد منصور والأستاذ المبدع أحمد عبد العليم وأخي الحبيب الرائع أمير الزبيدي
فإنه يبدو لي جازماً أنني أمام قامة آخرى من القامات العربية التي تزخر بالإبداع البرمجي،
وكم كنتُ أتمنى منك أن توافيني بهذا الكود المختصر اكثر من هذا للاستزادة البرمجية ,
فإنني مازلتُ هاوياً أتعلم من الأساتذة الكرام والأعضاء الأفاضل
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
المشاركات : 1,038
المواضيع 15
الإنتساب : May 2016
السمعة :
251
الشكر: 678
تم شكره 1901 مرات في 984 مشاركات
تفضل :
كود :
' عرض الطلبــة الراسبين حسب المــادة الراسبين فيها
Dim strSearh As String
Select Case CombSClas.ListIndex
Case 0
strSearh = "Semester=3 AND tr1 < 40"
Case 1, 2, 3, 5, 6, 7, 8, 9, 10, 11
strSearh = "tr" & CStr(CombSClas.ListIndex + 1) & " < 40"
Case 4
strSearh = "tr5 < 80"
End Select
Call ConnectionDatabase
If Rs.State = adStateOpen Then Rs.Close
Rs.Open "SELECT * FROM [TBL_Final5] WHERE [CClas]='" & Trim(CombCClass.Text) & _
"' AND [Clas] = '" & Trim(CombClass.Text) & "' AND tag=3 And " & strSearh & _
" AND [Category] = '" & Trim(TextCategory.Text) & "'", DB, adOpenStatic, adLockOptimistic
L1.Clear
For I = 0 To Rs.RecordCount - 1
L1.AddItem Rs![Name_Student]
L1.ItemData(L1.NewIndex) = Rs![ID]
Rs.MoveNext
Next
Form_Exim2.LCount.Caption = " عدد الطلبــة الراسبين في مــادة : " & " " & Form_Exim2.CombSClas.Text & " - " & Rs.RecordCount & ""
'
Exit Sub
'
ShowDegree 1
''''''''''''''
TextB_GotFocus
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
|