IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Erreur 3134 avec un INSERT INTO


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 335
    Points : 112
    Points
    112
    Par défaut Erreur 3134 avec un INSERT INTO
    Bonjour,

    Après avoir renseigné mes champs dans un formulaire (AuditFirstPage), je souhaiterais les envoyer dans une table (report), en appuyant sur le boutton sav. Tous les champs sont renseignés sauf un, celui qui contient la clé primaire et qui est en autonumber (ReportID).

    Voila ce que j'ai écrit après de multiples recherches et essais (je suis novice) :

    DoCmd.RunSQL "INSERT INTO REPORT (ReportID, ContractID, CustID, MCmodID, MC_Serial, Robot_Serial, Mold_Serial1, Mold_Serial2, MSEID, [Date], HourMeterReading) Values (" & Form_AuditFirstPage.ReportID & ", 1, " & Form_AuditFirstPage.ComboCust.Column(0) & ", " & Form_AuditFirstPage.ComboMC_Model.Column(0) & ", '" & Form_AuditFirstPage.MC_Serial & "', '" & Form_AuditFirstPage.RobotSerial & "', '" & Form_AuditFirstPage.Mold1Serial & "', '" & Form_AuditFirstPage.Mold2Serial & "', " & Form_AuditFirstPage.MSE.Column(0) & ", #" & Form_AuditFirstPage.dat & "#, '" & Form_AuditFirstPage.HourMeterReading & "')"


    Et à l'exécution j'ai l'erreur 3134 me disant que j'ai une erreur de syntax.
    J'ai également fait un essai en renseignant le champs "ReportID" (qui est ma clé primaire en autonumber), et là j'ai une erreur de "key violation".

    Auriez-vous une idée pour éviter cela ?

    Merci d'avance.

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Et à l'exécution j'ai l'erreur 3134 me disant que j'ai une erreur de syntax.
    Donc ta requête SQL ne semble pas bonne. Utilise un Debug.Print pour que la requête générée apparaisse dans ta fenêtre d'exécution. Tu pourras ainsi la tester dans le requêteur Access si besoin est.

    J'ai également fait un essai en renseignant le champs "ReportID" (qui est ma clé primaire en autonumber), et là j'ai une erreur de "key violation".
    Un autonumber ne se renseigne pas. Pense à f1 pour l'aide.

  3. #3
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,
    mets déjà les balises codes.c'est plus lisible, et à première vue il manque un ; à la fin de ton instrucion SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "INSERT INTO REPORT (ReportID, ContractID, CustID, MCmodID, MC_Serial, Robot_Serial, Mold_Serial1, Mold_Serial2, MSEID, [Date], HourMeterReading) Values (Form_AuditFirstPage.ReportID & ", 1, " & Form_AuditFirstPage.ComboCust.Column(0) & ", " & Form_AuditFirstPage.ComboMC_Model.Column(0) & ", " & Form_AuditFirstPage.MC_Serial & ", " & Form_AuditFirstPage.RobotSerial & ", " & Form_AuditFirstPage.Mold1Serial & ", " & Form_AuditFirstPage.Mold2Serial & ", " & Form_AuditFirstPage.MSE.Column(0) & ", #" & Form_AuditFirstPage.dat & "#, " & Form_AuditFirstPage.HourMeterReading & ");"

  4. #4
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 335
    Points : 112
    Points
    112
    Par défaut
    Dans la Debug.Window, j'ai quasiment le résultat attendu excepté le champs de ma clé primaire qui est vide (car non renseigné), c'est à mon avis pour cela que j'ai une erreur.
    Voila le résultat que j'obtiens (les résultats nuls au milieu sont volontaires et je ne pense pas qu'il crée un erreur).

    INSERT INTO REPORT (ReportID, ContractID, CustID, MCmodID, MC_Serial, Robot_Serial, Mold_Serial1, Mold_Serial2, MSEID, [Date], HourMeterReading) Values (, 1, 19, 10, '534', '', '', '', 3, #24/04/2007#, '5324')

    Si l'erreur vient réellement de la syntaxe je ne vois pas ou, je cherche pourtant depuis un petit moment.

  5. #5
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Ne mentionne pas ReportID dans ta requête. S'il est en numéro auto il s'incrémentera tout seul.

  6. #6
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 335
    Points : 112
    Points
    112
    Par défaut
    Thank's, ça marche !! et désolé pour les balises mais je ne sais pas ce que c'est.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur 3134 sur un INSERT INTO
    Par walden dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/07/2006, 14h08
  2. exporter dans un format avec des insert into
    Par kurkLord dans le forum Oracle
    Réponses: 2
    Dernier message: 12/06/2006, 11h43
  3. Erreur de syntaxe dans INSERT INTO VALUES
    Par Mariboo dans le forum Access
    Réponses: 4
    Dernier message: 25/05/2006, 18h57
  4. Pb d'écriture intempestive dans table avec SQL insert into
    Par pete_shifter dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/11/2005, 11h51
  5. Réponses: 2
    Dernier message: 21/07/2005, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo