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 :
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 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"
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
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
Si je clique sur ce bouton, tout se passe bien et lorsque je raffraichis mon Table1datagridview, tout est OK.
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
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é :
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.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part Form1.Table1dataAdapter.Update(CType(Form1.Table1bindingSource.DataSource, DataTable))
Merci pour votre future aide
Partager