Salut à tous

J'ai une Form appellée frmEmployes qui contient :

4 TextBox ( txtID , txtNom , txtPren , txtAge )
4 Boutons ( btnAddNew , btnUpdate , btnSave , btnExit )

Je vais parler seulement du bouton btnModifier car en appuyant sur ce bouton une autre fenetre ( Form ) appellée frmModifier apparait pour permettre la modification des données d'un employé.

Cette fenetre frmModifier se compose seulement de 4 TextBox ( txtID , txtNom , txtPren , txtAge ) et de deux boutons : btnUpdate et btnClose , lorsque je finis les modifications j'appuies sur btnUpdate et puis sur btnClose.

Ce que je demande humblement c'est comment refléter les changements effectuées dans la Form frmModifier dans la 1ère Form frmEmployes c'est-à-dire rafraichir les TextBox ( qui sont des controles liés ) de la 1ère Form (frmEmployes) automatiquement.

Voici ce que j'ai fait mais ça ne marche pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Imports System.Data.SqlClient
 
Public Class frmEmployes
 
    Dim cn As New SqlConnection
    Dim strcon As String = "data source=(local);initial catalog=employes ;integrated security=true"
 
    Private Sub RefreshData()
 
   cn.ConnectionString = strcon
 
        Dim strEmp As String = "select * from employes"
        Dim daEmp As New SqlDataAdapter(strEmp, cn)
        Dim dsEmp As New DataSet
 
        If cn.State Then cn.Close()
 
        cn.Open()
        dsEmp.Clear()
        daEmp.Fill(dsEmp, "pros")
        cn.Close()
 
        txtID.DataBindings.Add("text", dsEmp, "employes.idEmp")
        txtNom.DataBindings.Add("text", dsEmp, "employes.nom")
        txtPren.DataBindings.Add("text", dsEmp, "employes.pren")
        txtAge.DataBindings.Add("text", dsEmp, "employes.age")
 
End Sub
Ensuite j'appelle cette procédure à l'intérieur du code du bouton btnUpdate de la Form frmModifier ( la seconde fenetre ) comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
 
        Dim cmdUpdate As New SqlCommand
        cmdUpdate.Connection = cn
        cmdUpdate.CommandText = "update employes set nom=@nom,pren=@pren,age=@age where idEmp=@idEmp"
 
        cmdUpdate.Parameters.Clear()
 
        Dim pr_id As New SqlParameter("@idEmp", SqlDbType.Int, 4)
        pr_id.Value = CType(Me.txtID.Text, Integer)
        cmdUpdate.Parameters.Add(pr_id)
 
        Dim pr_nom As New SqlParameter("@nom", SqlDbType.NVarChar, 50)
        pr_nom.Value = Me.txtNom.Text
        cmdUpdate.Parameters.Add(pr_nom)
 
        Dim pr_pren As New SqlParameter("@pren", SqlDbType.NVarChar, 50)
        pr_pren.Value = Me.txtPren.Text
        cmdUpdate.Parameters.Add(pr_pren)
 
        Dim pr_age As New SqlParameter("@age",SqlDbType.NVarChar, 10)
        pr_age.Value = Me.txtAge.Text
        cmdUpdate.Parameters.Add(pr_age)
 
 If  cn.State Then cn.Close()
 
        cn.Open()
        cmdUpdate.ExecuteNonQuery()
        cn.Close()
        cmdUpdate.Dispose()
 
        MsgBox("Mise à jour Réussie")
 
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
 
        RefreshData()
 
    End Sub
Voilà j"espère que j'étais assez clair Merci d'avance.