Mise a jour ACCESS via vb 2005

Résolu
djamal_dine Messages postés 16 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 4 avril 2009 - 22 nov. 2007 à 01:38
djamal_dine Messages postés 16 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 4 avril 2009 - 22 nov. 2007 à 12:38
Bonsoir a tous,
je suis novice en vb 2005 et mon
probleme est le suivant je developpe une application de gestion de
stock et j'ai une erreur au niveau de la mise a jour de ma table
PRODUIT lorsque je saisi une nouvelle COMMANDE.Le code que j'utilise
est place dans mon bouton VALIDER et est comme suit:
  'creation d'une nouvelle ligne avec les données des textbox
        dtr = dts.Tables("Produit_cmd").NewRow
        dtr("PRO_num") = Me.PC_num.SelectedValue
        dtr("FRS_num") = Me.PC_frsCB.SelectedValue
        dtr("PCMD_date") = Me.PCMD_dateDTP.Value
        dtr("PCMD_qtecmd") = Me.PC_qteTxt.Text

        'ajout de la ligne dans le DataSet
        dts.Tables("Produit_cmd").Rows.Add(dtr)

        'création et exécution du commandbuilder
        'pour mettre à jour le DataAdapter
        cmdb = New OleDb.OleDbCommandBuilder(dta)

        'mise à jour des données du DataAdapter
        'à partir du commandbuilder
        dta.Update(dts, "Produit_cmd")

        'on vide le dataset pour le recréer avec
        'les nouvelles données
        dts.Clear()
        dta.Fill(dts, "Produit_cmd")
        dtt = dts.Tables("Produit_cmd")

        'mise à jour de la datagrid

        PCDGV.DataSource = dts.Tables("Produit_cmd")

        'aller au début du fichier
        rownum = 0

        'affichage des données dans les texbox
        Me.PC_num.Text = dtt.Rows(rownum).Item("PRO_num")
        Me.PC_frsCB.Text = dtt.Rows(rownum).Item("FRS_num")
        Me.PCMD_dateDTP.Text = dtt.Rows(rownum).Item("PCMD_date")
        Me.PC_qteTxt.Text = dtt.Rows(rownum).Item("PCMD_qtecmd")

     
       
sql2 = "update produit SET PRO_qteinit=PRO_qteinit " &
PC_qteTxt.Text & "  where PRO_desig = '" & PC_num.SelectedText
& "'"
        Try
            cnx.Open()
            Dim up As New OleDb.OleDbCommand(sql2, cnx)
            up.ExecuteNonQuery()
            cnx.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        cnx.Close()

A l'execution, il y a aucune mise a jour lorsque je clique sur mon bouton valider.
Merci de bien vouloir m'aider.

2 réponses

djamal_dine Messages postés 16 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 4 avril 2009
22 nov. 2007 à 12:38
 Try
            sql2 = "update produit SET PRO_qteinit=PRO_qteinit + " & PC_qteTxt.Text & " where PRO_desig = '" & PC_num.Text & "'"
            Dim up As New OleDb.OleDbCommand(sql2, cnx)
            up.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try


Merci a toi martinqc101,mon probleme a ete resolu apres avoir modifie mon code de mise a jour .
3
martinqc101 Messages postés 10 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 10 novembre 2008
22 nov. 2007 à 03:25
Il te manque au moins une ligne de code, ca devrait t'aider :

'création et exécution du commandbuilder
        'pour mettre à jour le DataAdapter
        cmdb = New OleDb.OleDbCommandBuilder(dta)

dta.InsertCommand = cmdb.GetInsertCommand

        'mise à jour des données du DataAdapter
        'à partir du commandbuilder
        dta.Update(dts, "Produit_cmd")
0
Rejoignez-nous