20-04-25, 04:01 AM
تم بفضل الله تعالى تعديل الكود وهو شغال 100٪
كود :
Private Sub Save_Grade()
Try
If DataGridView1.Rows.Count = 0 OrElse (DataGridView1.Rows.Count = 1 AndAlso DataGridView1.Rows(0).IsNewRow) Then
MessageBox.Show(" عفواً ، لا توجـد بيانــات للحفظ", "تنبيــه", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Exit Sub
End If
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\DataBase\Data_Base.accdb")
con.Open()
For i As Integer = 0 To DataGridView1.Rows.Count - 2
Dim IDStudent As Integer = Val(DataGridView1.Rows(i).Cells(0).Value)
Dim IDClas As Integer = listClas.SelectedIndices(0) + 1
Dim ClassroomID As Integer = Combroom.SelectedIndex + 1
Dim IDSemester As Integer = Val(CombSemester.Text)
Dim courseIndex As Integer = CombCourses.SelectedIndex + 1
' قراءة TOValue من العمود الصحيح
Dim TOValue As Integer = Val(DataGridView1.Rows(i).Cells(6).Value) ' تعديل الفهرس حسب الحاجة
' تحديث TO
Dim query As String = "UPDATE TBL_Final1 SET TO" & courseIndex & "=? WHERE IDStudent=? AND IDClas=? AND ClassroomID=? AND IDSemester=?"
Dim command As New OleDbCommand(query, con)
command.Parameters.AddWithValue("?", TOValue)
command.Parameters.AddWithValue("?", IDStudent)
command.Parameters.AddWithValue("?", IDClas)
command.Parameters.AddWithValue("?", ClassroomID)
command.Parameters.AddWithValue("?", IDSemester)
command.ExecuteNonQuery()
' قراءة ON
Dim ONValue As Integer = 0
Dim cmdON As New OleDbCommand("SELECT ON" & courseIndex & " FROM TBL_Final1 WHERE IDStudent=? AND IDClas=? AND ClassroomID=? AND IDSemester=?", con)
cmdON.Parameters.AddWithValue("?", IDStudent)
cmdON.Parameters.AddWithValue("?", IDClas)
cmdON.Parameters.AddWithValue("?", ClassroomID)
cmdON.Parameters.AddWithValue("?", IDSemester)
Dim resultON = cmdON.ExecuteScalar()
If Not IsDBNull(resultON) Then
ONValue = CInt(resultON)
End If
' تحديث TR
Dim TRValue As Integer = ONValue + TOValue
Dim cmdTR As New OleDbCommand("UPDATE TBL_Final1 SET TR" & courseIndex & "=? WHERE IDStudent=? AND IDClas=? AND ClassroomID=? AND IDSemester=?", con)
cmdTR.Parameters.AddWithValue("?", TRValue)
cmdTR.Parameters.AddWithValue("?", IDStudent)
cmdTR.Parameters.AddWithValue("?", IDClas)
cmdTR.Parameters.AddWithValue("?", ClassroomID)
cmdTR.Parameters.AddWithValue("?", IDSemester)
cmdTR.ExecuteNonQuery()
Next
con.Close()
MsgBox("تم رصد درجات الامتحــان للصف: " & listClas.Text & vbCrLf & "لمادة: " & CombCourses.Text & " بنجاح", MsgBoxStyle.Information, "الإجــراء")
Catch ex As Exception
MsgBox("خطأ: " & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
```
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ

