Bonjour,
J'ai un problème de MAJ de BD Access à partir d'un Dataset.
En effet, j'ai une Base "GESTION" avec une table "Eleves" créé par code avec la technique ADOX. La table "Eleves " comporte 3 champs (IDEleves en autoincrement, NOM et PRENOM).
Je crée un datarow et l'ajoute au dataset. VB 2008 n'indique aucune erreur mais la table "Eleves" reste vide. Où est le problème ? Je suis débutant et ne trouve pas le problème depuis 3 jours...
Voici le code que j'utilise :
Je dois précisé que la table ELEVES de la base GESTION est totalement vide. Pas d'enregistrement puisqu'elle à été créée par 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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Private Sub creationBDD1() ' Déclaration des variables Dim StrConn, StrSQL As String Dim MonDS As DataSet Dim MonDA As OleDb.OleDbDataAdapter Dim ElevesDataRow As DataRow Dim ElevesCB As OleDb.OleDbCommandBuilder Dim ElevesDT As DataTable StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ My.Forms.Importer.NouveauFileDialog.FileName & ";" StrSQL = "SELECT * FROM Eleves" MonDA = New OleDb.OleDbDataAdapter(StrSQL, StrConn) MonDS = New DataSet("Eleves") MonDA.Fill(MonDS) ElevesDataRow = MonDS.Tables.Item(0).NewRow ElevesDataRow("Nom") = "Mon nom à moi" ElevesDataRow("Prenom") = "Mon premier prénom" MonDS.Tables.Item(0).Rows.Add(ElevesDataRow) 'Pour modifier les valeurs changées dans le DataAdapter ElevesCB = New OleDb.OleDbCommandBuilder(MonDA) 'Mise à jour MonDS.AcceptChanges() MonDA.Update(MonDS) 'On vide le DataSet et on le 'recharge' de nouveau. MonDS.Clear() MonDA.Fill(MonDS, "Eleves") ElevesDT = MonDS.Tables("Eleves") End Sub
Merci pour votre aide.
Partager