Erreur de syntaxe dans l'instruction INSERT INTO

Messages postés
12
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
23 décembre 2013
- - Dernière réponse : anwar666
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
12 juillet 2010
- 12 juil. 2010 à 00:07
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
Afficher la suite 

4 réponses

Messages postés
12
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
23 décembre 2013
0
Merci
C'est bon. Problème résolu ^-^.

Programmeuz perdue à Gaia
Commenter la réponse de hajar2809
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
12 juillet 2010
0
Merci
bonsoir ,

peut tu nous dire comment tu as fai pour résoudre ton problème ??
car moi aussi chui bloqué .
merci d'avance .
Commenter la réponse de anwar666
Messages postés
12
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
23 décembre 2013
0
Merci
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
Commenter la réponse de hajar2809
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
12 juillet 2010
0
Merci
Merci pour la réponse mais pas de Mot Réservé
je vais esseyé autrement
Commenter la réponse de anwar666