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 :Voici la partie du code qui pose problème :Erreur de Syntaxe dans l'instruction INSERT INTO.
Pour résumer je n'arrive pas a crée une nouvelle ligne dans la BDD 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
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
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
Partager