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 :
Erreur de Syntaxe dans l'instruction INSERT INTO.
Voici la partie du code qui pose problème :

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
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") '// l’exception 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