Erreur de syntaxe dans l'instruction INSERT INTO

hajar2809 Messages postés 12 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 23 décembre 2013 - 21 juin 2010 à 16:29
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

4 réponses

hajar2809 Messages postés 12 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 23 décembre 2013
22 juin 2010 à 09:20
C'est bon. Problème résolu ^-^.

Programmeuz perdue à Gaia
0
anwar666 Messages postés 24 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 12 juillet 2010
3 juil. 2010 à 22:02
bonsoir ,

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