Ajout d'un enregistrement sous Access a travers VB

IrisTun Messages postés 37 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 7 mars 2013 - 16 juin 2010 à 10:16
konima177 Messages postés 1 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 13 septembre 2010 - 13 sept. 2010 à 09:47
Bonjour, Je suis entrain de faire un petit programme en Vb, le principe est que j'enregistre les données saisi par l'utilisateur sur mon interface VB dans des tables Access(2003) selon le formulaire rempli, mon problème c'est que la boucle d'ajout ne fonctionne pas j'obtiens toujours le message d'erreur suivant: "Erreur de syntaxe dans l'instruction INSERT INTO" , et voici mon code:

Dim i As Integer
Dim ObjetConnection As OleDbConnection
Dim ObjetCommand As OleDbCommand
Dim ObjetDataAdapter As OleDbDataAdapter
Dim ObjetDataSet As New DataSet()
Dim strSql As String
Dim ObjetDataTable As DataTable
Dim ObjetDataRow As DataRow
Dim RowNumber As Integer
Dim strConn As String
Dim ObjetCommandBuilder As OleDbCommandBuilder
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= C:\Documents and Settings\sawssen.SMISERVER\Mes documents\Visual Studio 2008\Projects\Déclaration d'employeur\Declaration_Employeur.mdb;"
strSql = "SELECT Beneficiaire_Annexe2.* FROM Beneficiaire_Annexe2"
ObjetConnection = New OleDbConnection()
ObjetConnection.ConnectionString = strConn
ObjetConnection.Open()
ObjetCommand = New OleDbCommand(strSql)
ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetDataAdapter.Fill(ObjetDataSet, "Beneficiaire_Annexe2")
ObjetDataTable = ObjetDataSet.Tables("Beneficiaire_Annexe2")
RowNumber = CInt(Ax2NO.Text)
i = 0
If RowNumber = ObjetDataTable.Rows.Count + 1 Then
If ObjetDataTable.Rows.Count <> 0 Then
Do
If ObjetDataTable.Rows(i).Item("Identifiant").ToString = Ax2IB.Text Then
MsgBox("Employé existe Déjas")
Exit Sub
End If
i = i + 1
Loop Until i = ObjetDataTable.Rows.Count
End If

ObjetDataRow = ObjetDataSet.Tables("Beneficiaire_Annexe2").NewRow()
ObjetDataRow("Numero_Ordre") = CInt(Ax2NO.Text)
If Ax4NI.SelectedItem = "Matricule Fiscal" Then
ObjetDataRow("Type_ID") = "1"
Else
ObjetDataRow("Type_ID") = "2"
End If
ObjetDataRow("Identifiant") = LTrim(Ax2IB.Text)
ObjetDataRow("Nom_et_Prenom") = LTrim(Ax2NB.Text)
ObjetDataRow("Activite") = LTrim(Ax2ACT.Text)
ObjetDataRow("Adresse") = LTrim(Ax2ADR.Text)

If Ax2TM.SelectedItem = "Montant Brut Nul" Then
ObjetDataRow("Type_ Montant") = "0"
ElseIf Ax2TM.SelectedItem = "Pour les Honoraires" Then
ObjetDataRow("Type_ Montant") = "1"
ElseIf Ax2TM.SelectedItem = "Pour les Commissions" Then
ObjetDataRow("Type_ Montant") = "2"
ElseIf Ax2TM.SelectedItem = "Pour les Courtages" Then
ObjetDataRow("Type_ Montant") = "3"
ElseIf Ax2TM.SelectedItem = "Pour les Loyers" Then
ObjetDataRow("Type_ Montant") = "4"
ElseIf Ax2TM.SelectedItem = "Pour les rémunirations au titres des activités non commerciales" Then
ObjetDataRow("Type_ Montant") = "5"
Else
ObjetDataRow("Type_ Montant") = "6"
End If

ObjetDataSet.Tables("Beneficiaire_Annexe2").Rows.Add(ObjetDataRow)
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
ObjetDataAdapter.Update(ObjetDataSet, "Beneficiaire_Annexe2")
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "Beneficiaire_Annexe2")

ObjetConnection = Nothing
ObjetCommand = Nothing
ObjetDataAdapter = Nothing
ObjetDataSet = Nothing
ObjetDataTable = Nothing
ObjetDataRow = Nothing
MsgBox("Employé Ajouter")
End If


NB: Ce même code fonctionne dans les autres formulaires

4 réponses

YossaChris Messages postés 2 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 12 septembre 2010
12 sept. 2010 à 01:17



[^^happy13]
0
YossaChris Messages postés 2 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 12 septembre 2010
12 sept. 2010 à 01:19
salut gar
je peux deja dir ke la var Ax2NO
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
12 sept. 2010 à 04:06
Essaie d'utiliser le coloriage syntaxique(3è bouton en partant de la droite)
on y verra déjà un peu plus claire...

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
konima177 Messages postés 1 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 13 septembre 2010
13 sept. 2010 à 09:47
salut mes amis je suis un nouveau membre cher vs et bon courage
0
Rejoignez-nous