منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التعديل على كود جلب بيانات من جدولين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
هل يمكن التعديل على كود جلب أسماء الطلبة الناجحين في الدور الأول من الجدول TBL_Final1
وجلب أسماء الطلبة الناجحين في الدور الثاني من الجدول TBL_Final2
وعرضهم في الليست بوكس وذلك عند إختيار الصف والشعبة من الكومبوكس

علماً بأن كود أسماء الطلبــة شغال تمام من خلال البوتن بدون استخدام الكومبوكس

المثال في المرفقات
[attachment=27297]
وعليكم السلام ورحمة الله وبركاته

الكود لم يعمل ليدك بسبب خطأ برمجي حيث أن حقل "Semester" حقل رقمي في قاعدة البيانات
بينما في الكود وضعت له اشارة البحث النصي الشرطة العلوية "  " قم بمسحها من الكود وسيعمل.

أما عن كفاءة الكود في البحث - فلا أدري - عند عرض النتائج تعرف هل هذا ما تريد ام لاا - وهل الشروط التي وضعتها صحيحة أم لا  ..
(22-11-21, 10:56 PM)Taha Okla كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته

الكود لم يعمل ليدك بسبب خطأ برمجي حيث أن حقل "Semester" حقل رقمي في قاعدة البيانات
بينما في الكود وضعت له اشارة البحث النصي الشرطة العلوية "  " قم بمسحها من الكود وسيعمل.

أما عن كفاءة الكود في البحث - فلا أدري - عند عرض النتائج تعرف هل هذا ما تريد ام لاا - وهل الشروط التي وضعتها صحيحة أم لا  ..

بارك الله فيك لا يوجد في الكود شرطة علوية كما هو موضح أدناهُ
كود :
If Trim(Combcless.Text) = "" Then
       MsgBox "الرجــاء ... إختيار الصف الدراسي", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "تنبيه"
       Combcless.SetFocus
       Exit Sub: End If

If Trim(Combccless.Text) = "" Then
       MsgBox "الرجـــاء ... إختيار الشعبة", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "تنبيه"
       Combccless.SetFocus
       Exit Sub: End If

Set RS = New ADODB.Recordset
If RS.State = adStateOpen Then RS.Close
RS.Open "Select ID,Name_Student,Clas,CClas,Semester,result,tag from TBL_Final1 Where Semester  union all select * from TBL_Final2 Where Semester=3" & _
"' AND [CClas] = '" & Trim(Combccless.Text) & _
"' And result='äÇÌÍ'  AND [Clas] = '" & Trim(Combcless.Text) & _
"'", db, adOpenStatic, adLockOptimistic

Lsum.Caption = " عدد طلبة الصف الناجحين : " & RS.RecordCount & ""

L1.Clear
For I = 0 To RS.RecordCount - 1
L1.AddItem RS![Name_Student]
L1.ItemData(L1.NewIndex) = RS![ID]
RS.MoveNext
Next
'

والشروط صحيحة ولكن الكود غير شغال
لاحظ في هذا الجزء هنا :
كود :
Where Semester=3" & _
"' AND
السلام عليكم
اخي الكريم مصمم هاوي

ارجو ان تتقبل كلامي بصدر رحم
البرنامج عندك محتاج تعديل اخي الكريم يجب ان ترسم عملك اولا خارج التنفيذ ثم تقوم بعد اتمام التخطيط بالتنفيذ

اقترح عليك الاتي
اولا عمل جدول للطلاب فيه رقم الطالب واسم الطالب والصف وغيره من امور تخص الطالب
ثانيا عمل جدول خاص بالصف لسهولة تسجيل صف الطالب عند ادخال بيانات طالب جديد
ثالثا جدول الدرجات يتم تسجيل نتائج الطلاب فيه

وهنا نستطيع ان نقوم بالربط بدون اي مشاكل
جدول الطلاب مثلا
رقم الطالب اسم الطالب الصف
1 احمد محمد الخامس
2 مصمم هاوي الرابع
3 سعيد الثالث

ثانيا جدول النتائج
رقم رقم الطالب مادة رقم 1 مادة رقم 2 مادة رقم 3 النتيجه
1 1 25 25 25 ناجح
2 2 30 35 20 ناجح
3 3 5 15 7 راسب

هنا نستطيع ان نبحث بكل سهولة ليه لان لدينا حقول فريدة نتسطيع استخدامها في عملية تصفية البيانات
اتمنى لك التوفيق والسداد
اخيك احمد عبدالعليم
(23-11-21, 04:00 PM)ahmedabdelaliem كتب : [ -> ]السلام عليكم
اخي الكريم مصمم هاوي

ارجو ان تتقبل كلامي بصدر رحم
البرنامج عندك محتاج تعديل اخي الكريم يجب ان ترسم عملك اولا خارج التنفيذ ثم تقوم بعد اتمام التخطيط بالتنفيذ

اقترح عليك الاتي
اولا عمل جدول للطلاب فيه رقم الطالب واسم الطالب والصف وغيره من امور تخص الطالب
ثانيا عمل جدول خاص بالصف لسهولة تسجيل صف الطالب عند ادخال بيانات طالب جديد
ثالثا جدول الدرجات يتم تسجيل نتائج الطلاب فيه

وهنا نستطيع ان نقوم بالربط بدون اي مشاكل
جدول الطلاب مثلا
رقم الطالب اسم الطالب الصف
1 احمد محمد الخامس
2 مصمم هاوي الرابع
3 سعيد الثالث

ثانيا جدول النتائج
رقم رقم الطالب مادة رقم 1 مادة رقم 2 مادة رقم 3 النتيجه
1 1 25 25 25 ناجح
2 2 30 35 20 ناجح
3 3 5 15 7 راسب

هنا نستطيع ان نبحث بكل سهولة ليه لان لدينا حقول فريدة نتسطيع استخدامها في عملية تصفية البيانات
اتمنى لك التوفيق والسداد
اخيك احمد عبدالعليم

النقد البناء هدية قيمة من ناصح أمين لكل منصوح.
ثانيا: المثال جزء من برنامج كبير فيه جدول الصلاب وجدول الصفوف وجدول الأقسام أو الشعب وجدول المواد وجدول تسجيل الدرجات. إلى آخره....
ومن الصعب إرفاق برنامج بهذا الحجم الكبير ولهذا يتم إرفاق أمثلة مقتبسة منه فقط.
وجزاك الله كل خير استاذ احمد على النصيحة القيمة.
هل ممكن صور فقط من تصميم قواعد البيانات حتى لو على الخاص
لان اريد مراجعة تقسم الجداول
اذا امكنك هذا انا حاضرين

بالتوفيق اخي
(23-11-21, 05:16 PM)ahmedabdelaliem كتب : [ -> ]هل ممكن صور فقط من تصميم قواعد البيانات حتى لو على الخاص
لان اريد مراجعة تقسم الجداول
اذا امكنك هذا انا حاضرين

بالتوفيق اخي

الله يبارك في أعمالك الطيبة، وإن شاء الله تعالى ارجع للبيت وابعثه لك على الخاص
بارك الله فيكم تم تعديل بيانات جلب جدولين وعرض في الليست بوكس وهو شغالٌ 100%
كود :
Set RS = New ADODB.Recordset
If RS.State = adStateOpen Then RS.Close
RS.Open "Select ID,Name_Student from TBL_Final2 Where TBL_Final2.tag=3 and TBL_Final2.result='ناجح' And [TBL_Final2.Clas] ='" & Me.Combcless.Text & "' And [TBL_Final2.CClas] ='" & Me.Combccless.Text & "' union all select ID,Name_Student from TBL_Final1 Where [TBL_Final1.Clas] ='" & Me.Combcless.Text & "' And [TBL_Final1.CClas] ='" & Me.Combccless.Text & "' And TBL_Final1.result='ناجح' and TBL_Final1.tag=2", db, adOpenStatic, adLockOptimistic

Lsum.Caption = " عدد الطلبــة الناجحين : " & RS.RecordCount & ""

L1.Clear
For I = 0 To RS.RecordCount - 1
L1.AddItem RS![Name_Student]
L1.ItemData(L1.NewIndex) = RS![ID]
RS.MoveNext
Next
'

وهذا الكود بدون أختيار من الكومبوكس

كود :
Set RS = New ADODB.Recordset
If RS.State = adStateOpen Then RS.Close
RS.Open "Select ID,Name_Student,Clas,CClas,Semester,result,tag from TBL_Final1 Where TBL_Final1.tag=2 and TBL_Final1.result='ناجح' union all select * from TBL_Final2 Where TBL_Final2.result='ناجح' and TBL_Final2.tag=3", db, adOpenStatic, adLockOptimistic

Lsum.Caption = "عدد الطلبـة الناجحين : " & RS.RecordCount & ""

L1.Clear
For I = 0 To RS.RecordCount - 1
L1.AddItem RS![Name_Student]
L1.ItemData(L1.NewIndex) = RS![ID]
RS.MoveNext
Next
'