Erreur de syntaxe dans l'instruction INSERT INTO

Signaler
Messages postés
12
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
23 décembre 2013
-
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
12 juillet 2010
-
Bonsoir tout le monde,

J'espère qu'une âme charitable pourrait m'aider à comprendre ce qui se passe avec le code ci-dessous . Je veux insérer un enregistrement dans une table Access "EchancierCreancesClients" mais je reçois toujours l'erreur suivante. Sachant que ce bout de code marche pour d'autres tables, je plante pour connaitre l'origine de l'erreur. J'ai cherché un peu sur ce cher Google et j'ai trouvé que ca pouvait venir de mots réservés par Access ou VB.net mais je n'en utilise pas...

Dim sql As String
        'objet commande
        Dim cmd As OleDbCommand
        'objet dataadpter
        Dim dta As OleDbDataAdapter
        'contiendra la table
        Dim dts As New DataSet
        'contiendra la table
        Dim dtt As DataTable
        'Pour la saisie
        Dim dtr As DataRow
        'commande builder
        Dim cmdb As OleDbCommandBuilder
        Connection()

        'requete
        sql = "select * from EchancierCreancesClients"
        'MessageBox.Show(sql)
        cmd = New OleDbCommand(sql)
        dta = New OleDbDataAdapter(cmd)
        cmd.Connection() = conn

        'chargement de la base & etablissement des listes
        dta.Fill(dts, "EchancierCreancesClients")
        dtt = dts.Tables("EchancierCreancesClients")
        dtr = dts.Tables("EchancierCreancesClients").NewRow
        dtr("Imputation") = "test"
        dtr("CliFour") = "Ce"
        'dtr("M") = CDbl(2.4)
        dtr("Date_Importation") = CDate(DateTimePicker2.Text)
        dtr("Societe") = SocieteComboBox.Text
      
        'Ajout dans le dataset
        dts.Tables("EchancierCreancesClients").Rows.Add(dtr)

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

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

        'on vide le dataset pour le recréer avec 
        'les nouvelles données 
        dts.Clear()
        dta.Fill(dts, "EchancierCreancesClients")
        dtt = dts.Tables("EchancierCreancesClients")
        MessageBox.Show("Insertion effectuée", "Insertion", MessageBoxButtons.OK, MessageBoxIcon.Information)

Merci d'avance.
Programmeuz perdue à Gaia

4 réponses

Messages postés
12
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
23 décembre 2013

C'est bon. Problème résolu ^-^.

Programmeuz perdue à Gaia
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
12 juillet 2010

bonsoir ,

peut tu nous dire comment tu as fai pour résoudre ton problème ??
car moi aussi chui bloqué .
merci d'avance .
Messages postés
12
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
23 décembre 2013

Oui bien sûr, comme je l'ai dit dans mon post d'origine, que le problème ca pouvait venir de mots réservés par Access ou VB.net et c'était le cas :
J'avais crée des champs avec des signes réservés exemple: M+1 et M<=3...etc. Et quand je fais l'insertion, ca plante.Solution : Il suffit de renommer les champs.

Voici la liste des mots réservés par access:

http://office.microsoft.com/fr-ca/access-help/mots-et-symboles-reserves-d-access-2007-HA010030643.aspx

J'espère que tu arriverais à résoudre ton problème aussi.

Programmeuz perdue à Gaia
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
12 juillet 2010

Merci pour la réponse mais pas de Mot Réservé
je vais esseyé autrement