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 :

Operation must use an updatable query Problem [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut Operation must use an updatable query Problem
    Bonjour a tous,

    J’ai les 3 tables suivantes T, T1 et T2.
    Je veux Update les champs T.ST1 et T.ST2 par les champs T1.CV1 et T2.CV2 respectivement.

    T
    RecordID CC ST1 ST2 ST3
    1 1 0 0 0
    2 2 0 0 0
    3 3 0 0 0
    4 4 0 0 0
    5 5 0 0 0


    T1
    CC1 CV1
    1 5
    2 7
    3 8


    T2
    CC2 CV2
    2 13
    4 17
    5 19



    C'est-à-dire que finallement, je dois aboutir a la table suivante
    T
    RecordID CC ST1 ST2 ST3
    1 1 5 0 0
    2 2 7 13 0
    3 3 8 0 0
    4 4 0 17 0
    5 5 0 19 0







    Pour l’instant,j’utilise le SQL suivant mais j’obtiens l’erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Operation must use an updatable query


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE   T
    SET    T.ST1 = (SELECT CV1 
    	FROM T1 
    	WHERE  T.cc = T1.cc1)  ,
     
              T.ST2 =  (SELECT CV2
    	FROM T2
    	WHERE  T.cc = T2.cc2)

    Merci de me dire ce qui ne va pas et me donner un coup de main.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Bjr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE (T LEFT JOIN T1 ON T.RecordID = T1.CC1) LEFT JOIN T2 ON T.RecordID = T2.CC2 SET T.ST1 = [T1].[CV1], T.ST2 = [T2].[CV2]
    ou si tu veux les 0 dans ta table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE (T LEFT JOIN T1 ON T.RecordID = T1.CC1) LEFT JOIN T2 ON T.RecordID = T2.CC2 SET T.ST1 = IIf(IsNull([T1].[CV1]),0,[T1].[CV1]), T.ST2 = IIf(IsNull([T2].[CV2]),0,[T2].[CV2])

    Michel

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut
    Merci pour ta reponse,
    Peux-tu m’expliquer pourquoi mon ecriture ne marche pas ?
    La logique est quand meme correcte !!!
    Existe il des BD (par exemple Tsql , oracle,..) dans lesquelles mon ecriture marcherait ?

    Qu’en est il de l’ecriture suivante si j’ignore la table T2 ; Ici je ne prends en compte que les tables T et T1:
    Ceci ressemble fort a une requete auto-corelee.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE   T
    SET    T.ST1 = (SELECT CV1 
    	FROM T1 
    	WHERE  T.cc = T1.cc1)  
    WHERE T.cc = T1.cc1

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Sais pas ... mais autant prendre la requête qui fonctionne.
    Michel

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

Discussions similaires

  1. Operation must use an updateable query
    Par ouadie99 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/02/2008, 16h37
  2. Operation Must Use An Updateable Query
    Par jam92400 dans le forum Access
    Réponses: 10
    Dernier message: 04/08/2006, 15h13
  3. Operation Must Use An Updateable Query
    Par jam92400 dans le forum Access
    Réponses: 4
    Dernier message: 01/08/2006, 14h19
  4. Operation must use an updateable query
    Par jam92400 dans le forum Access
    Réponses: 3
    Dernier message: 28/06/2006, 15h59
  5. Operation Must Use An Updateable Query
    Par jam92400 dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 11h37

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