وعليكم السلام ورحمة الله وبركاته :
تم تعديل بعض الأكواد في بعض النوافذ ،، ولكن من أجل السرعة نسخت كل الاكواد التي في النافذة
لذا عليك نسخ كامل الكود واستبداله بالكود الذي لديك في نفس النافذة ..
الاكواد تخص ثلاثة نوافذ ..
الأكواد في Form1 :
كود :
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class Patients_LIST
Dim ConStr As String = ("Provider=Microsoft.jet.oledb.4.0;" & "Data source =" & Application.StartupPath & "\MyData.mdb")
Dim Conn As New OleDbConnection(ConStr)
Dim SQLStr As String = "SELECT * From Table1"
Public DataAdapter1 As OleDbDataAdapter
Public Dt As New DataTable
Sub fillDGV()
Dt.Rows.Clear()
DataAdapter1 = New OleDbDataAdapter(SQLStr, Conn)
DataAdapter1.Fill(Dt)
Me.dgvStudents.DataSource = Dt
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
fillDGV()
End Sub
Private Sub txtSearch_TextChanged(sender As Object, e As EventArgs) Handles txtSearch.TextChanged
Try
Dim Dtcopy As DataTable = Dt.Copy
Dim dv As DataView = Dtcopy.DefaultView
dv.RowFilter = "ID+Nom+Prenom+Adresse+Tel like '%" & txtSearch.Text & "%'"
dgvStudents.DataSource = dv
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' Dim frm As New FRM_ADD_PATIENT
FRM_ADD_PATIENT.ToDo = "add"
FRM_ADD_PATIENT.Text = "Ajouter nouveau malade"
FRM_ADD_PATIENT.Button1.Text = "Ajouter"
FRM_ADD_PATIENT.Show()
End Sub
Private Function DataUpdate() As Boolean
Try
Me.BindingContext(Dt).EndCurrentEdit()
Dim save As New OleDbCommandBuilder(DataAdapter1)
DataAdapter1.Update(Dt)
Dt.AcceptChanges()
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
Private Sub btnEdit_Click(sender As Object, e As EventArgs) Handles btnEdit.Click
Try
' Dim frm As New FRM_ADD_PATIENT
FRM_ADD_PATIENT.ToDo = "edit"
FRM_ADD_PATIENT.Text = "Modifier le dossier de: " & dgvStudents.CurrentRow.Cells(1).Value
FRM_ADD_PATIENT.Button1.Text = "Modifier"
FRM_ADD_PATIENT.Id_Patient = dgvStudents.CurrentRow.Cells(0).Value
FRM_ADD_PATIENT.TextBox1.Text = dgvStudents.CurrentRow.Cells(1).Value
FRM_ADD_PATIENT.TextBox2.Text = dgvStudents.CurrentRow.Cells(2).Value
FRM_ADD_PATIENT.TextBox3.Text = dgvStudents.CurrentRow.Cells(3).Value
FRM_ADD_PATIENT.TextBox4.Text = dgvStudents.CurrentRow.Cells(4).Value
FRM_ADD_PATIENT.TextBox5.Text = dgvStudents.CurrentRow.Cells(5).Value
FRM_ADD_PATIENT.ComboBox1.Text = dgvStudents.CurrentRow.Cells(6).Value
FRM_ADD_PATIENT.DateTimePicker1.Value = dgvStudents.CurrentRow.Cells(7).Value
FRM_ADD_PATIENT.TextBox6.Text = dgvStudents.CurrentRow.Cells(8).Value
FRM_ADD_PATIENT.Show()
fillDGV()
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
Try
cmd = New OleDbCommand("Delete from Table1 where ID=" & dgvStudents.CurrentRow.Cells(0).Value, con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Dossier supprimé", MsgBoxStyle.Information, "Supprimer")
fillDGV()
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
'Dim frm As New FRM_EXAM
FRM_EXAM.ToDo = "edit"
FRM_EXAM.Text = "Le dossier de: " & dgvStudents.CurrentRow.Cells(1).Value
FRM_EXAM.Id_Patient = dgvStudents.CurrentRow.Cells(0).Value
FRM_EXAM.TextBox7.Text = dgvStudents.CurrentRow.Cells(0).Value
FRM_EXAM.TextBox1.Text = dgvStudents.CurrentRow.Cells(1).Value
FRM_EXAM.TextBox2.Text = dgvStudents.CurrentRow.Cells(2).Value
FRM_EXAM.TextBox3.Text = dgvStudents.CurrentRow.Cells(3).Value
FRM_EXAM.TextBox4.Text = dgvStudents.CurrentRow.Cells(4).Value
FRM_EXAM.TextBox5.Text = dgvStudents.CurrentRow.Cells(5).Value
FRM_EXAM.ComboBox1.Text = dgvStudents.CurrentRow.Cells(6).Value
FRM_EXAM.DateTimePicker1.Value = dgvStudents.CurrentRow.Cells(7).Value
FRM_EXAM.TextBox6.Text = dgvStudents.CurrentRow.Cells(8).Value
FRM_EXAM.Show()
' fillDGV()
Catch ex As Exception
Exit Sub
End Try
End Sub
End Class
الأكواد في FRM_EXAM :
كود :
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class FRM_EXAM
Dim ConStr As String = ("Provider=Microsoft.jet.oledb.4.0;" & "Data source =" & Application.StartupPath & "\MyData.mdb")
Dim Conn As New OleDbConnection(ConStr)
Dim SQLStr As String = "SELECT * From TBL_Exam"
Public DataAdapter1 As OleDbDataAdapter
Public Dt As New DataTable
Public ToDo As String = "add"
Public Id_Patient As Integer
Dim cmdb As OleDbCommandBuilder
Sub FillDGV()
Try
Dim sql As String = "select * from TBL_EXAM where ID_Malade=" & TextBox7.Text
con.Open()
Dim adapt As New OleDb.OleDbDataAdapter(sql, Conn)
Dim dt As New DataTable()
adapt.Fill(dt)
Me.dgvCourses.DataSource = dt
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Sub
Private Sub FRM_EXAM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Dim query As String
'If ToDo = "add" Then
' query = "INSERT INTO Table1 (Nom, Prenom, Age, Adresse, Tel, Groupage, DateConsult, atcd) values (@Nom, @Prenom, @Age, @Adresse, @Tel, @Groupage, @DateConsult, @atcd)"
'Else
' query = "Update Table1 set Nom=@Nom, Prenom=@Prenom, Age=@Age, Adresse=@Adresse, Tel=@Tel, Groupage=@Groupage, DateConsult=@DateConsult, atcd=@atcd where ID=" & Id_Patient
'End If
FillDGV()
End Sub
Private Sub btnNEW_Click(sender As Object, e As EventArgs) Handles btnNEW.Click
Try
Dim frm As New FRM_ADD_EXAM
frm.ToDo = "add"
frm.Text = "Nouvelle Consultation"
frm.Button1.Text = "AJOUTER"
frm.Show()
frm.Text = " Nouvelle Consultation "
frm.TextBox8.Text = Me.TextBox7.Text
FillDGV()
Catch ex As Exception
Exit Sub
End Try
End Sub
End Class
الأكواد في FRM_ADD_EXAM :
كود :
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class FRM_ADD_EXAM
Dim ConStr As String = ("Provider=Microsoft.jet.oledb.4.0;" & "Data source =" & Application.StartupPath & "\MyData.mdb")
Dim Conn As New OleDbConnection(ConStr)
Dim SQLStr As String = "SELECT * From TBL_EXAM"
Public DataAdapter1 As OleDbDataAdapter
Public Dt As New DataTable
Public ToDo As String = "add"
Public Id_Patient As Integer
Dim cmdb As OleDbCommandBuilder
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Dim query As String
If ToDo = "add" Then
query = "INSERT INTO TBL_EXAM (ID_Malade, TA, Gly, Temperature, Saturation, FC, Diagnostic, Ordonance, LastDate) values (@ID_Malade, @TA, @Gly, @Temperature, @Saturation, @FC, @Diagnostic, @Ordonance, @LastDate)"
Else
query = "Update TBL_EXAM set ID_Malade=@ID_Malade, TA=@TA, Gly=@Gly, Temperature=@Temperature, Saturation=@Saturation, FC=@FC, Diagnostic=@Diagnostic, Ordonance=@Ordonance, LastDate=@LastDate where ID=" & Id_Patient
End If
cmd = New OleDb.OleDbCommand(query, con)
cmd.Parameters.Add(New OleDb.OleDbParameter("@ID_Malade", OleDb.OleDbType.VarChar)).Value = TextBox8.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@TA", OleDb.OleDbType.VarChar)).Value = TextBox1.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@Gly", OleDb.OleDbType.VarChar)).Value = TextBox2.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@Temperature", OleDb.OleDbType.VarChar)).Value = TextBox3.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@Saturation", OleDb.OleDbType.VarChar)).Value = TextBox4.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@FC", OleDb.OleDbType.VarChar)).Value = TextBox5.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@Diagnostic", OleDb.OleDbType.VarChar)).Value = TextBox6.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@Ordonance", OleDb.OleDbType.VarChar)).Value = TextBox7.Text
cmd.Parameters.Add(New OleDb.OleDbParameter("@LastDate", OleDb.OleDbType.Date)).Value = DateTimePicker1.Value.Date
con.Open()
cmd.ExecuteNonQuery()
MsgBox("Succés", MsgBoxStyle.Information, "Dossier")
Me.Hide()
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
FRM_EXAM.FillDGV()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Close()
End Sub
End Class
للتبسيط ، المشكلة كانت أنك تستخدم نسخة من النافذة وليست النافذة نفسها
لذا عدلت الكود وقمت بإلغاء بعض الأكواد التي لا فائدة منها
ويحتاج الكثير من التعديلات ولكن ليس لدي الوقت الكافي للتعديل على المشروع أكثر..
وبات الان بإمكانك استكمال مشروعك ..