تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعديل في جزئية من الكود
#7
(23-02-23, 07:44 AM)Taha Okla كتب :
(22-02-23, 10:15 PM)مصمم هاوي كتب : للأسف يوجد خطأ  ولم يتبين لي هذا الخطأ، والرجاء منكم التعديل حتى يتم استدعاء الدرجات حسب المادة
بحيث إذا لم يتم إدخال درجات لإحدى المواد الدراسية فإنه يتم إدخال درجتها


ذا :

كود :
Private Sub FillStudent()
       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.NameStudent " &
                       ", TBL_Student.IDClas " &
                       ", TBL_Student.SETNO1 " &
                       ", TBL_Student.SETNO2 " &
                       ", TBL_Final1.IDSemester " &
                       ",TBL_Final1.NameCourses " &
                       ",TBL_Final1.on " &
                       ",TBL_Final1.to " &
                       ",TBL_Final1.tr " &
                       " 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.IDClas=" & CInt(i + 1).ToString)

               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")

           'تحديد بيانات الداتا قريد التي ستعبأ

           FillStudent_Load()
           'Destroy object.
           'arrListQuery = Nothing

       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try

   End Sub

ليس هذا هو المقصود فهذه الطريقة أعرفها جيداً ولكن ما أريده أن يتم استدعاء جميع طلبة الصف
حتى الطلبة الذين لم تسجل لهم درجات في المادة.
وتسجيل الدرجات يتم في الداتا قريدفيو مباشرةً؛ وبهذه الطريقة لن أستطيع أن أسجل درجات الطلبة الآخرين.
أسف على الإطالة ولكن هذا هو المطلوب.
مع العلم أن هذا الأمر نجح عندي في الفيجوال 6
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: سعود , سعود


الردود في هذا الموضوع
RE: تعديل في جزئية من الكود - بواسطة Taha Okla - 22-02-23, 07:14 PM
RE: تعديل في جزئية من الكود - بواسطة سعود - 22-02-23, 08:33 PM
RE: تعديل في جزئية من الكود - بواسطة Taha Okla - 23-02-23, 07:44 AM
RE: تعديل في جزئية من الكود - بواسطة مصمم هاوي - 23-02-23, 09:09 AM
RE: تعديل في جزئية من الكود - بواسطة Taha Okla - 23-02-23, 02:07 PM


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


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