Ajout d'un enregistrement sous Access a travers VB
IrisTun
Messages postés37Date d'inscriptionmercredi 6 décembre 2000StatutMembreDernière intervention 7 mars 2013
-
16 juin 2010 à 10:16
konima177
Messages postés1Date d'inscriptionjeudi 7 décembre 2006StatutMembreDernière intervention13 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")