Ajouter un enregistrement dans une base Access
Bonjour,
Je suis entrain de programmer un petit programme qui nécessite une liaison
avec une base de donnée Access. Pour cela j'utilise un DataSet qui fonctionne
très bien mais lorsque je souhaite Ajouter une nouvelle ligne à la base j’obtiens une exception :
Citation:
Erreur de Syntaxe dans l'instruction INSERT INTO.
Voici la partie du code qui pose problème :
Code:
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 41 42 43 44 45 46 47 48 49
| Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
'Déclaration DATASET
Private ObjetConnection As OleDbConnection
Private ObjetCommand As OleDbCommand
Private ObjetDataAdapter As OleDbDataAdapter
Private ObjetDataSet As New DataSet()
Private strSql As String
Private ObjetDataTable As DataTable
Private ObjetDataRow As DataRow
Private RowNumber As Integer
Private strConn As String
Private ObjetCommandBuilder As OleDbCommandBuilder
'Ouverture DATASET
strConn = "Provider=Microsoft.Ace.OLEDB.12.0;Data source=Muselets_VB.accdb"
strSql = "SELECT * FROM Tbl_Donnees"
ObjetConnection = New OleDbConnection(strConn)
ObjetConnection.ConnectionString = strConn
ObjetConnection.Open()
ObjetCommand = New OleDbCommand(strSql)
ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetDataAdapter.Fill(ObjetDataSet, "Tbl_Donnees")
ObjetDataTable = ObjetDataSet.Tables("Tbl_Donnees")
Try
'Creer nouvelle ligne
ObjetDataRow = ObjetDataSet.Tables("Tbl_Donnees").NewRow()
ObjetDataRow("Nom_Caps") = Me.Nom.Text
ObjetDataSet.Tables("Tbl_Donnees").Rows.Add(ObjetDataRow)
'Modifier les valeurs changées dans le DataAdapter
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
'Mise à jour
ObjetDataAdapter.Update(ObjetDataSet, "Tbl_Donnees") '// lexception apparait ici
'On vide le DataSet et on le 'recharge' de nouveau.
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "Tbl_Donnees")
ObjetDataTable = ObjetDataSet.Tables("Tbl_Donnees")
Catch ex As Exception
MsgBox(ex.Message)
End Try |
Pour résumer je n'arrive pas a crée une nouvelle ligne dans la BDD Access.
En espérant que cela est suffisant pour pouvoir vous faire une idée précise de mon problème.
Merci d'avance pour votre précieuse aide.
Tmonn