Ajout d'un enregistrement sous Access a travers VB

Signaler
Messages postés
37
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
7 mars 2013
-
Messages postés
1
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
13 septembre 2010
-
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

Messages postés
2
Date d'inscription
vendredi 7 août 2009
Statut
Membre
Dernière intervention
12 septembre 2010




[^^happy13]
Messages postés
2
Date d'inscription
vendredi 7 août 2009
Statut
Membre
Dernière intervention
12 septembre 2010

salut gar
je peux deja dir ke la var Ax2NO
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
2
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
Messages postés
1
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
13 septembre 2010

salut mes amis je suis un nouveau membre cher vs et bon courage