begin process at 2010 02 10 14:58:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

Access

 > 

enregistrer une nouvelle ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

enregistrer une nouvelle ligne

lundi 18 août 2008 à 12:36:00 | enregistrer une nouvelle ligne

colby

Bonjour,
Débutant alors pardon d'avance.

Je ne parviens pas a ajouter un enregistrement. j'ai a chaque fois erreur de syntaxe dans l'instruction INSERT INTO.
Connx = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & Application.StartupPath & "\bd1.mdb"
        GP = New OleDb.OleDbConnection
        GP.ConnectionString = Connx
        Sql = "SELECT Bon.* from Bon"  'requete sql
        GP.Open()
        Cmd = New OleDbCommand(Sql)
        Cmd.Connection() = GP
        CDSet = New DataSet
        BdA = New OleDb.OleDbDataAdapter(Sql, GP)
        BdA.Fill(CDSet, "Bon")

        With CDSet
            DTR = CDSet.Tables("Bon").NewRow()   'crátion d'une nouvelle ligne

            'inserer les nouvelles données des textbox
            DTR("Date") = DateLbl.Text
            DTR("Fret") = Txt1.Text
            DTR("Marchandise") = Txt2.Text
            DTR("Transitaire") = Txt3.Text
            DTR("Destinataire") = Txt4.Text
            DTR("Poids") = Txt5.Text
            DTR("Camion") = Txt6.Text

            If Me.ChB3.Checked = True Then
                DTR("Option") = ChB3.Text
            End If
            If Me.ChB4.Checked = True Then
                DTR("Option") = ChB4.Text
            End If

            If ChB1.Checked = True Then
                DTR("Operation") = ChB1.Text
            End If
            If Me.ChB2.Checked = True Then
                DTR("Operation") = ChB2.Text
            End If

            .Tables("Bon").Rows.Add(DTR)  'ajout de la ligne dans le DataSet
            CmdB = New OleDb.OleDbCommandBuilder(BdA) 'crée, exéc commandbuilder
            BdA.Update(CDSet, "Bon")   'mise à jour des données du DataAdapter
            CDSet.Clear()   'nettoyer le dataset et fermer la connection
            GP.Close()
        End With
        MsgBox("Nouveau bon enregistré avec succès")
        'Catch ex As Exception
        'MsgBox("Bon non validé. Veuillez Recommencer!")
        'End Try

La modification donne erreur de syntaxe dans l'instruction UPDATE.
Try
            With CDSet
                DTR = CDSet.Tables("tbc").Rows(RowN)   'recuperer la ligne

                'modification des données
                DTR("Date") = Me.DateLbl.Text
                DTR("Transitaire") = Me.Txt3.Text
                DTR("Poids") = Me.Txt5.Text
                DTR("Marchandise") = Me.Txt2.Text
                DTR("Destinataire") = Me.Txt4.Text
                DTR("Fret") = Me.Txt1.Text
                DTR("Camion") = Me.Txt6.Text

                If Me.ChB1.Checked = True Then
                    ChB2.Checked = False
                    DTR("Operation") = Me.ChB1.Text
                Else
                    DTR("Option") = Me.ChB2.GetType()
                End If

                If ChB2.Checked = True Then
                    ChB1.Checked = False
                    DTR("Option") = Me.ChB2.Text
                Else
                    DTR("Option") = Me.ChB2.GetType()
                End If

                If ChB3.Checked = True Then
                    ChB4.Checked = False
                    DTR("Option") = Me.ChB3.Text
                Else
                    DTR("Option") = Me.ChB3.GetType()
                End If

                If ChB4.Checked = True Then
                    ChB3.Checked = False
                    DTR("Option") = Me.ChB4.Text
                Else
                    DTR("Option") = Me.ChB4.GetType()
                End If

                CmdB = New OleDb.OleDbCommandBuilder(BdA)  
                'bTA.UpdateCommand = CmdB.GetUpdateCommand()
                BdA.Update(CDSet, "Bon")  'mise à jour des données  
                CDSet.Clear()     'vide le dataset pour le recréer
                BdA.Fill(CDSet, "Bon")
                Bon = CDSet.Tables("Bon")
                MsgBox("Opération de Mise à jour Validée avec succès.")
            End With
        Catch ex As Exception
            MsgBox("Mise à jour non validée! Veuillez Recommencer!")
        End Try
    End Sub

la suppression s'effectue a l'écran mais dans la base la ligne n'est pas effacer.
Dim Rep As String
        Rep = MsgBox("Êtes-vous sûr de vouloir Supprimer le Bon ?", _
        MsgBoxStyle.Question + MsgBoxStyle.YesNo)

        If Rep = 6 Then
            Try
                CDSet.Tables("Bon").Rows(RowN).Delete()
                CmdB = New OleDbCommandBuilder(BdA)
                BdA.UpdateCommand = CmdB.GetUpdateCommand
                BdA.Update(CDSet, "Bon")
                CDSet.Clear()
                BdA.Fill(CDSet, "Bon")
                Bon = CDSet.Tables("Bon")
                MsgBox("Bon supprimé avec succès.", MsgBoxStyle.Information)
            Catch ex As Exception
                MsgBox("Opération de suppression non aboutie!")
            End Try
        End If

Aidez moi a comprendre.
Colby
mercredi 20 août 2008 à 18:05:55 | Re : enregistrer une nouvelle ligne

colby

Bonsoir a tous.
En fait l'erreur est que j'utilise le mot "option" dans la base dès que je l'ai remplace tout marche bien.
Colby


Cette discussion est classée dans : text, end, dtr, cdset, if


Répondre à ce message

Sujets en rapport avec ce message

probleme valider BDD [ par khier ] salutje suis debutant en visuel basic , jai creer une programme avec base de donne accessmais le probleme a chaque fois valider les enregistrement je probleme avec les selections de listbox ( en tableau ) [ par sikove ] salut, lorseque je rempli une listebox avec une selection de type tableau, impossible de determiner quelle selection on a choisi dans l'application .. création d'un tableau dynamique [ par francelo ] voici les codes d'un programme :Dans ce programme, je voulais à partir du Msgbox si le code n'existe pas l'article soit ajouté dans le Tableau comment exception oledbexception- Erreur de synthaxe dans l'instruction inser to [ par coulibalysy ] D'abord je vous informe que je programme sous VB.net 2008 Express et j'attaque une base de donnée Access 2007.J'ai vérifié les champs de ma table "Etu probleme avec dropdownlist [ par loveislam ] j'ai deux dropdownlistl"une charge tous les numero de commande et l'autre selon deux datesla deuxieme combo une fois charge les numero et je clic pour Connection sqlserveur 2008 express (Échec de l'ouverture de session de l'utilisateur) [ par sombre84 ] Bonjour tout le monde, Je précise d'entrée de jeux que je suis un "programmeur" trés débutant. Mon problème est que je n'arrive pas a me connecter a m creer un enregistrement dans une table sql [ par sergeszebe ] bonjour a tous je voudrai creer un enregistrement dans une table: voici mon code [code=vb] <%@ import Namespace="System. Editer et ajouter [ par kaiemma ] bonjour, je voudrais savoir comment je pourrais à l'ai de du même bouton enregistrer des données dans une table et éditer une autre donnée dans une au MSFlexGrid comment faire:regarder ce code [ par kaiemma ] Bonjour, c'est encore moi avec mon même programme. il se trouve que j'ai utilisé un msflexgrid mais je n'arrive pas à enregistrer les informations de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales