Mise àjour

youba11 Messages postés 2 Date d'inscription jeudi 13 décembre 2007 Statut Membre Dernière intervention 5 juin 2008 - 14 déc. 2007 à 18:52
youba11 Messages postés 2 Date d'inscription jeudi 13 décembre 2007 Statut Membre Dernière intervention 5 juin 2008 - 14 déc. 2007 à 21:09
Bonsoir a tous,
je suis debutant en vb 2005, mon probleme est le suivant: je developpe une petite application de courier pour mon travail et j'ai une erreur au niveau de la mise a jour de ma table  lorsque je saisi une nv enregistrement,il m'affiche le message:"Erreur de syntaxe dans l'instruction Insert  Into".Le code que j'utilise est place dans mon bouton ajouter voici le code complet de mon premier form,merci pour m'aider à resoudre le probleme de mise à jour au niveau de la base:




Public Class Form1
    'Déclaration d'une connection
    Public moCon As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\mon bureau.mdb")
    'Déclaration d'un DataSet (base de données en mode déconnecté)
    Public oDS As New DataSet
    'Déclaration d'un DataAdapter pour la table Visites
    Public adap As New OleDb.OleDbDataAdapter("select * from applicative", moCon)
    'Déclaration d'un CommandBuilder pour la mise à jour vers la base de données
    Public oCmdBuilder As New OleDb.OleDbCommandBuilder(adap)
  
    'declaration d'un datatable
    Public dtt As New DataTable
    Public position As Integer


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            'Chargement des données dans le DataSet oDS à partir du DataAdapter


            adap.Fill(oDS, "applicative")
            'chargement de la DataTable à partir du DataSet
            dtt = oDS.Tables("applicative")


            'Définir la clé primaire pour la table Visites dans le DataSet oDS
            Dim Keys(1) As DataColumn
            Dim C1 As DataColumn = oDS.Tables("applicative").Columns("SousNum")
            Keys(0) = C1
            oDS.Tables("applicative").PrimaryKey = Keys




            If oDS.Tables("applicative").Rows.Count > 0 Then
                position = 0
                Call Charger()
            End If


        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Public Sub Charger()
        Try
            TxtNum.Text = oDS.Tables("applicative").Rows(position)(0)
            TxtObjet.Text = oDS.Tables("applicative").Rows(position)(1)
            TxtDateRe.Text = oDS.Tables("applicative").Rows(position)(2)
            comboOrigine.Text = oDS.Tables("applicative").Rows(position)(3)
            TxtCode.Text = oDS.Tables("applicative").Rows(position)(4)
            TxtOperation.Text = oDS.Tables("applicative").Rows(position)(5)
            TxtDateOp.Text = oDS.Tables("applicative").Rows(position)(6)
            comboSection.Text = oDS.Tables("applicative").Rows(position)(7)
            'lblEnr.Text = (position + 1).ToString & " / " & oDS.Tables("Visites").Rows.Count.ToString
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
    End Sub


    Private Sub ButNouveau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButNouveau.Click
        Try
            TxtNum.Clear()
            TxtObjet.Clear()
            TxtDateRe.Text = ""
            comboOrigine.Text = ""
            TxtCode.Clear()
            TxtOperation.Clear()
            TxtDateOp.Clear()
            comboSection.Text = ""
            TxtNum.Focus()
        Catch ex As Exception


        End Try
    End Sub


    Private Sub ButAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButAjouter.Click
        Try
            ''crátion d'une nouvelle ligne avec les données des textbox


            Dim NVLigne As DataRow = oDS.Tables("applicative").NewRow
            NVLigne(0) = TxtNum.Text
            NVLigne(1) = TxtObjet.Text
            NVLigne(2) = TxtDateRe.Text
            NVLigne(3) = comboOrigine.Text
            NVLigne(4) = TxtCode.Text
            NVLigne(5) = TxtOperation.Text
            NVLigne(6) = TxtDateOp.Text
            NVLigne(7) = comboSection.Text
            'Ajout de l'enregistrement dans le DataSet (base de données en mode déconnecté)
            oDS.Tables("applicative").Rows.Add(NVLigne)
            'création et exécution du commandbuilder
            'pour mettre à jour le DataAdapter
            oCmdBuilder = New OleDb.OleDbCommandBuilder(adap)
            'Ajout de l'enregistrement dans la base de données Access (Mise à jour)
            adap.Update(oDS, "applicative")
            'exemple
            'On vide le DataSet et on le 'recharge' de nouveau.
            oDS.Clear()
            adap.Fill(oDS, "applicative")
            dtt = oDS.Tables("applicative")


            'Actualisation de l'affichage
            'position = oDS.Tables("applicative").Rows.Count - 1
            Call Charger()


        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class

2 réponses

fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
14 déc. 2007 à 19:03
il doit manqué l'équivalent d'un .addnew avant le .update
0
youba11 Messages postés 2 Date d'inscription jeudi 13 décembre 2007 Statut Membre Dernière intervention 5 juin 2008
14 déc. 2007 à 21:09
 c'est à dire?merci de votre reponse
0
Rejoignez-nous