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

Langage SQL Discussion :

Erreur sql Update statement


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    intern
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : intern
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut Erreur sql Update statement
    Bonjour,
    Je ne trouve pas mon erreur dans ce code SQL.. 3 heures que je bloque.
    Pourriez vous m'aider ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     Set MyTable2 = MyDB.OpenRecordset("SELECT * FROM [tblRoutingMain] " & _
                                    "WHERE ((([tblRoutingMain].[QUOTE NUMBER])='" & [QUOTE NUMBER] & "') AND (([tblRoutingMain].COMPPN)='" & COMPPN & "')) " & _
                                    "ORDER BY tblRoutingMain.ROUTING ASC;")
     
      If Not MyTable2.EOF Then MyTable2.MoveFirst
     
     
          strUpdateQuery = "UPDATE tblRoutingMain SET  tblRoutingMain.[SEQ] = '" & MyTable2.Fields("SEQ") & "', " & _
                           "WHERE ((([tblRoutingMain].[QUOTE NUMBER])='" & [QUOTE NUMBER] & "CONT1" & "') AND (([tblRoutingMain].COMPPN)='" & COMPPN & "') AND (tblHardwareCost.[ROUTING]='" & MyTable2.Fields("ROUTING") & "'))" & _
                           "ORDER BY tblRoutingMain.ROUTING ASC;"
          CurrentDb.Execute strUpdateQuery, dbFailOnError

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Le message d'erreur ne serait pas inutile mais déjà vous avez une virgule en trop me semble-t-il dans la requête de mise à jour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET  tblRoutingMain.[SEQ] = '" & MyTable2.FIELDS("SEQ") & "', " &
    à remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET  tblRoutingMain.[SEQ] = '" & MyTable2.FIELDS("SEQ") & "' " &
    Quand c'est comme ça, récupérez le contenu de vos requêtes, l'erreur se voit beaucoup mieux...

  3. #3
    Membre du Club
    Homme Profil pro
    intern
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : intern
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    Le message d'erreur etait dans le titre.
    En enlevant la virgule il change et me donne : Missing semicolon ( ; ) at the end of the statement, Run time error'3137'

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    vous ouvrez six parenthèses, mais n'en fermez que deux.

    commencez par enlever celles qui sont inutiles, puis affichez votre requête pour voir celle qui manque

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    Bonjour,

    Que donne l'instruction suivante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print strUpdateQuery
    C'est plus facile avec la requête finale
    à+

  6. #6
    Membre du Club
    Homme Profil pro
    intern
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : intern
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    Debug.Print strUpdateQuery Me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE tblRoutingMain SET  tblRoutingMain.[SEQ] = '10' WHERE ((([tblRoutingMain].[QUOTE NUMBER])='OPP003903CONT1') AND (([tblRoutingMain].COMPPN)='A02H6007-1') AND (tblHardwareCost.[ROUTING]='1 Assembly Clean Room ACR'))
    et au niveau du code que j'ai un peu modifie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Set MyTable2 = MyDB.OpenRecordset("SELECT * FROM [tblRoutingMain] " & _
                                    "WHERE ((([tblRoutingMain].[QUOTE NUMBER])='" & [QUOTE NUMBER] & "') AND (([tblRoutingMain].COMPPN)='" & COMPPN & "')) " & _
                                    "ORDER BY tblRoutingMain.ROUTING ASC;")
     
      If Not MyTable2.EOF Then MyTable2.MoveFirst
     
     
          strUpdateQuery = "UPDATE tblRoutingMain SET  tblRoutingMain.[SEQ] = '" & MyTable2.Fields("SEQ") & "' " & _
                           "WHERE ((([tblRoutingMain].[QUOTE NUMBER])='" & [QUOTE NUMBER] & "CONT1" & "') AND (([tblRoutingMain].COMPPN)='" & COMPPN & "') AND (tblHardwareCost.[ROUTING]='" & MyTable2.Fields("ROUTING") & "'))"
     
          CurrentDb.Execute strUpdateQuery, dbFailOnError

    J'ai desormais l'erreur 3061 too few parameters. Expected 1
    Je suis perdu c'est mon premier code SQL

  7. #7
    Membre du Club
    Homme Profil pro
    intern
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : intern
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    De plus, ne devrais je pas faire une boucle pour obtenir toutes les valeurs de MyTable2 ?

Discussions similaires

  1. [SQL] Erreur dans UPDATE SELECT simple
    Par daner06 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/12/2006, 15h58
  2. Parametres listbox requete SQL & "updateable query" erreur
    Par haibane dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 01/09/2006, 11h52
  3. [VB.Net] Pourquoi ai-je une Erreur SQL sur un update ?
    Par ndsaerith dans le forum Accès aux données
    Réponses: 3
    Dernier message: 03/08/2006, 11h32
  4. [SQL] Erreur requête Update
    Par arnaudrou dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 23/04/2006, 16h38
  5. Réponses: 1
    Dernier message: 06/10/2005, 10h09

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