تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعديل على استدعاء الدرجات حسب الاختيار
#8
(14-04-25, 03:00 AM)princelovelorn كتب :
إقتباس :بارك الله فيك أخي العزيز على المساعدة ولكن الكود يحتاج إلى تعديل:
1- عند الاختيار من listClas الصفوف الدراسية يتم استدعاء طلبة الصف في الداتا قريدفيو ... هذا تمام
2- كذلك عند الضغط على listClas يمتلي CombCourses المواد الدراسية الخاصة بالصف الدراسي .... وهذا تمام
3- المشكلة تتمثل في الآتي:
- المفروض عند اختيار مادة لا يتم عرض درجاتها في الداتا قريدفيو إلا بناء على رقم الامتحان من CombSemester
- ولو لم يتم رصد درجات المادة المختارة من CombCourses فلا يتم إفراغ الداتا قريدفيو من أسماء الطلبة
فلو لاحظت أنه عندما يتم إختيار امتحان  من CombSemester  لم يتم تسجيل درجاته يتم إفراغ الداتا قريدفيو من أسماء الطلبة وهذا خطأ
فكيف سيتم تسجيل الدرجات لهذه المادة ورقم الامتحان إذا تم إفراغ الداتا قريدفيو؟؟؟
هذا هو المطلوب

السلام عليكم ورحمة الله وبركاته
أولا انا فاهم انت تقصد ايه بالظبط
ثانيا ممكن اعرف حضرتك رابط اسم المادة او كودها في جدول TBL_Final1 فين بالظبط ؟
اقصد اشرح لي ماذا يعني ON1 و ON2 وماذا يعني TO1 ,TO2  ؟
حتى استطيع مساعدتك

بارك الله فيك وجزاك كل كل خير على تجاوبك السريع واهتمامك المفيد

أولاً: جدول حفظ الدرجات -
اسم الجدول:  TBL_Final1
الحقول  
1- IDStudent  -  رقم الطالب - نوع الحقل رقمي
2- IDClas – رقم الصف - نوع الحقل نصي
3- IDSemester – رقم الامتحان - نوع الحقل رقمي  
4- on1 – أعمال المادة 1 - نوع الحقل رقمي
5- on2 – أعمال المادة 2 - نوع الحقل رقمي
6- on3 – أعمال المادة 3 - نوع الحقل رقمي
7- on4 – أعمال المادة 4 - نوع الحقل رقمي
8- on5 – أعمال المادة 5 - نوع الحقل رقمي
9- on6 – أعمال المادة 6 - نوع الحقل رقمي
10- on7 – مشروع ميداني المادة 7 - نوع الحقل رقمي (هذا الحقل لدرجة المشروع الميداني للفصل السادس فقط )
11- on8 – مشروع التخرج 8 - نوع الحقل رقمي (هذا الحقل لدرجة مشروع التخرج للفصل السادس فقط)

12- to1 – امتحان المادة 1 - نوع الحقل رقمي
13- to2 – امتحان المادة 2 - نوع الحقل رقمي
14- to3 – امتحان المادة 3 - نوع الحقل رقمي
15- to4 – امتحان المادة 4 - نوع الحقل رقمي
16- to5 – امتحان المادة 5 - نوع الحقل رقمي
17- to6 – امتحان المادة 6 - نوع الحقل رقمي
18- on7 – مشروع ميداني 7 - نوع الحقل رقمي (هذا الحقل لدرجة المشروع الميداني للفصل السادس فقط )
19- on8 – مشروع التخرج 8 - نوع الحقل رقمي (هذا الحقل لدرجة مشروع التخرج للفصل السادس فقط)

20- tr1 – مجموع أعمال + امتحان المادة 1 - نوع الحقل رقمي
21- tr2 – مجموع أعمال + امتحان المادة 2 - نوع الحقل رقمي
22- tr3 – مجموع أعمال + امتحان المادة 3 - نوع الحقل رقمي
23- tr4 – مجموع أعمال + امتحان المادة 4 - نوع الحقل رقمي
24- tr5 – مجموع أعمال + امتحان المادة 5 - نوع الحقل رقمي
25- tr6 – مجموع أعمال + امتحان المادة 6 - نوع الحقل رقمي
26- on7 – مجموع المشروع 7 - نوع الحقل رقمي (هذا الحقل لدرجة المشروع الميداني للفصل السادس فقط )
27- on8 – مجموع المشروع 8 - نوع الحقل رقمي (هذا الحقل لدرجة مشروع التخرج للفصل السادس فقط)

28-  total– مجموع درجات المواد الدراسية لكل طالب - نوع الحقل رقمي
29- FINAL– المعدل العام لكل طالب - نوع الحقل نصي
30-  takdeer– التقدير العام لكل طالب - نوع الحقل نصي (ممتاز – جيد جداً – جيد – مقبول - //)
31- mcount – عدد مواد الرسوب لكل طالب - نوع الحقل رقمي
32- result – النتيجة النهائيـة لكل طالب - نوع الحقل نصي (ناجح – دور ثان)

لكل مادة درجات أعمال - ودرجات امتحان  -  وجموع درجات الأعمال والامتحان
هذا هو كود الحفظ يعمل بكل ممتاز

كود :
   Private Sub Save_Grade()
       Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; " & "Data Source=" & Application.StartupPath & "\DataBase\Data_Base.accdb")
       If DataGridView1.Rows.Count = 0 Then Exit Sub
       con.Open()

       For i As Integer = 0 To DataGridView1.Rows.Count - 2
           Dim query As String = "SELECT * FROM TBL_Final1 WHERE IDStudent = ? AND IDClas = ? AND IDSemester = ?"
           Dim command As New OleDbCommand(query, con)
           command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(0).Value))
           command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(3).Value))
           command.Parameters.AddWithValue("?", CombSemester.SelectedItem.ToString())
           Dim reader As OleDbDataReader = command.ExecuteReader()
           If reader.HasRows Then
               reader.Close()
               query = "UPDATE TBL_Final1 SET ON" & CombCourses.SelectedIndex + 1 & " = ? WHERE IDStudent = ? AND IDClas = ? AND IDSemester = ?"
               command = New OleDbCommand(query, con)
               command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(5).Value))
               command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(0).Value))
               command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(3).Value))
               command.Parameters.AddWithValue("?", CombSemester.SelectedItem.ToString())
               command.ExecuteNonQuery()
           Else

               reader.Close()
               query = "INSERT INTO TBL_Final1 (IDStudent, IDClas, IDSemester, ON" & CombCourses.SelectedIndex + 1 & ") VALUES (?, ?, ?, ?)"
               command = New OleDbCommand(query, con)
               command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(0).Value))
               command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(3).Value))
               command.Parameters.AddWithValue("?", CombSemester.SelectedItem.ToString())
               command.Parameters.AddWithValue("?", Val(DataGridView1.Rows(i).Cells(5).Value))
               command.ExecuteNonQuery()
           End If
       Next
       con.Close()
       MsgBox("تم رصد درجــات الصــف : " & " " & listClas.Text & Chr(13) & " لمــادة : " & CombCourses.Text & " * بنجــاح " & "", MsgBoxStyle.Information, "الإجـــراء")

       ' إفراغ عمود درجات الأعمال
       For Each row As DataGridViewRow In DataGridView1.Rows
           row.Cells(5).Value = DBNull.Value
       Next

       ' عدم إضافة عمود بعد الوصول لآخر طالب
       For Each row As DataGridViewRow In DataGridView1.Rows
           If Not row.IsNewRow Then
               row.Cells(5).Value = DBNull.Value
           End If
       Next

   End Sub

******************************************************
في حدث CombCourses_SelectedIndexChanged
لو قمت بإلغاء صب FillCCourses - وفعلت صب Courses_Semester فإن درجات المواد الدراسية لا يتم استدعاءها
ولو قعلت صب FillCCourses  فالمشكلة تكمن في عدم استدعاء درجات المواد حسب رقم الامتحان

المطلـوب:
أولاً: اختيار رقم الامتحان من CombSemester
ثانياً: عند الضغط على عlistClas يتم أسماء الطلبـة في الداتاقريد فيو - كذلك استدعاء المواد الدراسية في CombCourses (وهذا تمام)
ثالثاً: عند اخيار مادة من CombCourses - المفروض يتم استدعاء درجات المواد حسب رقم الامتحان

انظر للمثال المحدث تظهر لك المشكلة جيداً
المشكلة فقط كيف يتم استدعاء درجات المواد الدراسية حسب رقم الامتحان

عند استدعاء أسماء الطلبـة في الداتا قريدفيو

المثال المحدث


.rar   Exam.2000.rar (الحجم : 201.95 ك ب / التحميلات : 22)

قبل قليل قمتُ بتعديل كود استدعاء درجات المواد الدراسية حسب رقم الامتحان المختار CombSemester وهــو شغال 101%
ولكن إذا لم توجد درجات امتحان في الجدول حسب رقم الامتحان المختار من الكومبوكس CombSemester فإنه يتم إفراغ الداتا قريدفيو
ولا ادري أين الخلل ؟!!!

كود :
Private Sub Courses_Semester()
        Try
            'هنا متغير لحمل القيمة التي ستحدد أثناء النقر على البيان المختار من اللست بوكس
            Dim arrListQuery As New ArrayList
            'هنا حلقة فور نكست لتحدد القيم المختارة من اللست بوكس
            'لا ينبغي عليك استخدام فهرس القائمة عند اختيار القيمة
            'Value ... SelectedIndices(i)
            For i As Integer = 0 To Me.listClas.Items.Count - 1
                If Me.listClas.GetSelected(i) Then
                    'هنا متغير لتعبئة القيمة أثناء النقر على أحد قيم اللست بوكس
                    'لتحديد قيمة الصف المختار من قاعدة البيانات والمعبأ في اللست بوكس
                    arrListQuery.Add( _
                        "SELECT TBL_Student.IDStudent, TBL_Student.alqayd, TBL_Student.NameStudent, TBL_Student.IDClas " & _
                        ", TBL_Final1.IDSemester " & _
                        ", TBL_Final1.ON" & CombCourses.SelectedIndex + 1 & " as أعمــال " & _
                        "FROM TBL_Final1 RIGHT JOIN TBL_Student ON TBL_Final1.IDStudent=TBL_Student.IDStudent " & _
                        "Where TBL_Student.IDClas=" & CInt(i + 1).ToString() & " AND TBL_Final1.IDSemester=" & Val(CombSemester.Text))
                End If
            Next

            '==========================
            'تحديد متغير لتعبئة مجموعة البيانات من الاستعلام
            Dim da As OleDb.OleDbDataAdapter
            da = New OleDbDataAdapter(Nothing, Con)
            'هنا تحديد متغير داتا سيت لتخزين البيانات
            Dim ds As New DataSet
            For i As Integer = 0 To arrListQuery.Count - 1
                If Not IsNothing(arrListQuery(i)) Then
                    'Assign the query string.
                    da.SelectCommand.CommandText = arrListQuery(i).ToString
                    'تعبئة مخزن البيانات من الاستعلام المحدد
                    da.Fill(ds, "Student")
                End If
            Next
            DataGridView1.DataSource = ds.Tables("Student")
            'تحديد بيانات الداتا قريد التي ستعبأ
            FillDataGridView()
            'Destroy object.
            'arrListQuery = Nothing
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: تعديل على استدعاء الدرجات حسب الاختيار - بواسطة مصمم هاوي - 14-04-25, 04:03 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 220 08-10-25, 02:20 PM
آخر رد: salamandal
  تعديل كود تحديث البيانات مصمم هاوي 1 791 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
  [VB.NET] استدعاء داتا كريت فيو من فورم اخر EMADW 1 425 16-04-25, 06:10 PM
آخر رد: مصمم هاوي
  ارجو تعديل الكود بواستطة الاجراء المخزن new_programer 3 687 03-04-25, 02:44 PM
آخر رد: princelovelorn
  تعديل مسار مكان حفظ النسخة الاحتياطية مصمم هاوي 6 831 02-03-25, 01:06 PM
آخر رد: atefkhalf2004
  محتاج تعديل على كود الحذف new_programer 2 662 17-02-25, 06:50 PM
آخر رد: new_programer
  مساعدة في كود عدم تكرار استدعاء نفس السؤال من المصفوفة fireswored1 5 563 10-02-25, 05:11 PM
آخر رد: fireswored1
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 626 05-02-25, 01:51 AM
آخر رد: new_programer
  طلب تعديل كود جلب اسم الملف ومساره مصمم هاوي 4 551 25-01-25, 12:45 AM
آخر رد: مصمم هاوي
  تعديل كود الحذف مصمم هاوي 2 496 10-01-25, 03:03 PM
آخر رد: عبد العزيز البسكري

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم