Bonjour à tous,

Petit débutant en VB.Net, je suis confronté à un petit problème de MAJ d'une base access depuis un datagriedview.

Pour afficher les données de ma base access dans mes datagriedview, j'ai suivi cet exemple :

http://msdn.microsoft.com/fr-fr/library/fbk67b6z.aspx

J'ai deux Datagridview(Table1datagridview et Table2datagridview) qui affichent des données différents (application de filtres) d'une même base de données dans un tabcontrol (chaque Tableau dans un onglet différent). Donc j'ai doublé les commandes du Private GetData et appliqué ensuite des filtres :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Table1bindingSource.Filter = "Missionterminee='NON'"
            Me.Table1DataGridView.DataSource = Table1bindingSource
            Me.Table1DataGridView.DataSource.Sort = "arriveeprevue ASC"
 
            Table2bindingSource.Filter = "Missionterminee='OUI'"
            Me.Table2DataGridView.DataSource = Table2bindingSource
            Me.Table2DataGridView.DataSource.Sort = "arriveeprevue ASC"
Tout marche très bien. J'ai ensuite fait un code que lorsque l'utilisateur double-clique sur un index, un form2 se remplit avec les données du tableau. Celà marche aussi très bien. Lorsque je valide, les données modifiés des textbox apparaissent bien dans mon datagriedview se trouvant dans un form1. Ci dessous un bout du code :

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
Private Sub Missionmod_Click(sender As System.Object, e As System.EventArgs) Handles Missionmod.Click
 
        Try
 Dim i As Integer
                i = Form1.Table1DataGridView.CurrentRow.Index
 
                If i <> -1 Then
 
                    Form1.Table1DataGridView.Item(1, i).Value = dc.Text
                    Form1.Table1DataGridView.Item(2, i).Value = origine.Text
                    Form1.Table1DataGridView.Item(3, i).Value = destination.Text
 End If
        Catch ex As Exception
            MsgBox(Err.Description)
        End Try
Sur mon form1, j'ai un bouton enregistrer qui permet de mettre à jour ma base access :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enregistrer.Click
        If ComboBox1.Text = "<Sélectionnez>" Then Exit Sub
                Me.Table1dataAdapter.Update(CType(Me.Table1bindingSource.DataSource, DataTable))
           End Sub
Si je clique sur ce bouton, tout se passe bien et lorsque je raffraichis mon Table1datagridview, tout est OK.
Je cherche donc un moyen de faire mettre à jour directement la base de données dans mon Private Sub Missionmod_Click et j'avais rajouté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Form1.Table1dataAdapter.Update(CType(Form1.Table1bindingSource.DataSource, DataTable))
Et çà marche pas, la MAJ de la base access ne se fait pas. J'ai essayé en utilisant la fonction performclick() pour simuler le clic sur le bouton "enregistrer" et celà ne marche pas non plus.....

Merci pour votre future aide