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 :

requête de mise à jour qui n'a aucun effet


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 156
    Points : 51
    Points
    51
    Par défaut requête de mise à jour qui n'a aucun effet
    Bonjour à tous, j'ai écris une requête de mise à jour sur un table mais elle n'a aucun effet, je ne sais pas expliquer pourquoi... pouvez vous m'aider ?

    Voici la requête :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set db = CurrentDb
    strSQL = "UPDATE TblCOMMANDES " & _
             "SET [ID_COMMANDE] = '" & strIdCmde & "', " & _
             "[NUM_COMMANDE]= '" & strNumCmde & "', [DATE]='" & strDateCmde & "', [ETAT]='" & strEtatCmde & "', " & _
             "[MONTANT_COMMANDE]= '" & strMontantCmde & "', [FRAIS_PORT_COMMANDE]= '" & strFraisCmde & "', " & _
             "[DATE_LIVRAISON]= '" & strDLivraisonCmde & "', [Ref_Fournisseur] = '" & strFournisseurCmde & "', [Ref_Interlocuteur]= '" & strInterlocuteurCmde & "', [Ref_Cat] ='" & strCategorieCmde & "', [Ref_Conditions_reglement]= '" & strCrCmde & "', [Document_externe]= '" & strDocExt & "';"
    db.Execute strSQL

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans ta requête SQL tu utilises systématiquement des quotes (') pour entourer tes variables.

    Si je regarde donc ta requête, pour moi tous les champs sont de type texte

    Alors les champs contenant des dates sont bien au format date ? Si oui, il faut utiliser des # à la place, et si tes champs sont de type numérique il ne faut mettre ni ', ni #.

    Philippe

  3. #3
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 156
    Points : 51
    Points
    51
    Par défaut
    ok merci, tu m'avais déja évoqué ce problème la derniere fois mais je ne savais pas la syntaxe pour les autres types : ma requête est donc la suivante mais ca ne vient pas de ça enfin à moins qu'il reste des erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set db = CurrentDb
    strSQL = "UPDATE TblCOMMANDES " & _
             "SET [ID_COMMANDE] = " & strIdCmde & ", " & _
             "[NUM_COMMANDE]= '" & strNumCmde & "', [DATE]=#" & strDateCmde & "#, [ETAT]='" & strEtatCmde & "', " & _
             "[MONTANT_COMMANDE]= " & strMontantCmde & ", [FRAIS_PORT_COMMANDE]= " & strFraisCmde & ", " & _
             "[DATE_LIVRAISON]= #" & strDLivraisonCmde & "#, [Ref_Fournisseur] = " & strFournisseurCmde & ", [Ref_Interlocuteur]= " & strInterlocuteurCmde & ", [Ref_Cat] =" & strCategorieCmde & ", [Ref_Conditions_reglement]= " & strCrCmde & ", [Document_externe]= '" & strDocExt & "';"
    db.Execute strSQL

  4. #4
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 156
    Points : 51
    Points
    51
    Par défaut
    Je viens de m'apercevoir qu'il manque la clause "where", mais ça ne marche toujours pas Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set db = CurrentDb
    strSQL = "UPDATE TblCOMMANDES " & _
             "SET [ID_COMMANDE] = " & strIdCmde & ", " & _
             "[NUM_COMMANDE]= '" & strNumCmde & "', [DATE]=#" & strDateCmde & "#, [ETAT]='" & strEtatCmde & "', " & _
             "[MONTANT_COMMANDE]= " & strMontantCmde & ", [FRAIS_PORT_COMMANDE]= " & strFraisCmde & ", " & _
             "[DATE_LIVRAISON]= #" & strDLivraisonCmde & "#, [Ref_Fournisseur] = " & strFournisseurCmde & ", [Ref_Interlocuteur]= " & strInterlocuteurCmde & ", [Ref_Cat] =" & strCategorieCmde & ", [Ref_Conditions_reglement]= " & strCrCmde & ", [Document_externe]= '" & strDocExt & "'" & _
             "WHERE [ID_COMMANDE]= " & strIdCmde & ";"
    db.Execute strSQL

  5. #5
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 156
    Points : 51
    Points
    51
    Par défaut
    J'ai trouvé d'où venait le problème, je ne peux pas faire de SET sur la clef primaire.. J'ai donc enlevé ça et par contre seulement deux champs n'arrivent pas a ce mettre à jour et je ne sais pas pourquoi... si qulequ'un a une idée, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    strSQL = "UPDATE TblCOMMANDES " & _
             "SET [NUM_COMMANDE]= '" & strNumCmde & "', [DATE]=#" & strDateCmde & "#, [ETAT]='" & strEtatCmde & "', " & _
             "[MONTANT_COMMANDE]= " & strMontantCmde & ", [FRAIS_PORT_COMMANDE]= " & strFraisCmde & ", " & _
             "[DATE_LIVRAISON]= #" & strDLivraisonCmde & "#, [Ref_Fournisseur]=" & strFournisseurCmde & ", [Ref_Interlocuteur]=" & strInterlocuteurCmde & ", [Ref_Cat]=" & strCategorieCmde & ", [Ref_Conditions_reglement]= " & strCrCmde & ", [Document_externe]= '" & strDocExt & "'" & _
             "WHERE [ID_COMMANDE]= " & strIdCmde & ";"
    db.Execute strSQL

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 175
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    quels champs ne se mettent pas à jour?
    Votre clé primaire est de quel type? auto increment?

  7. #7
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 156
    Points : 51
    Points
    51
    Par défaut
    Ma clef primaire est de type numérique (sans auto-incrément) et les champs qui ne se mettent pas a jour sont : Ref_Fournisseur et Ref_Interlocuteur

  8. #8
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 156
    Points : 51
    Points
    51
    Par défaut
    c'est bon j'ai trouvé d'où venais l'erreur, un peu longue à expliquée, mais le problème est résolu, merci a vous

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

Discussions similaires

  1. [MySQL] Requête de mise à jour qui n'effectue pas la modif
    Par Zhebulon dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 23/07/2009, 14h54
  2. [VBA]Requête de Mise à jour de BDD qui ne s'exécute pas
    Par Playerz dans le forum VBA Access
    Réponses: 3
    Dernier message: 09/06/2008, 09h48
  3. [SQL] Requête de mise à jour qui ne s'exécute pas !
    Par zoom61 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/08/2007, 11h53
  4. Réponses: 2
    Dernier message: 10/03/2006, 13h55
  5. Réponses: 6
    Dernier message: 29/11/2005, 19h36

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