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

Access Discussion :

Update d'une table à partir d'une autre


Sujet :

Access

  1. #1
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut Update d'une table à partir d'une autre
    Bonjour,
    Je poste après une série de recherches infructueuses dand les tuto d'access et dans le forum d'access. Je fais cette précision car je suis étonné de ne rien avoir trouvé sur le sujet.
    Bref, voici mon problème:
    J'ai 2 tables:
    Table1 avec les champs C1, C2, C3
    et
    Table2 avec les champs D1, D2, D3

    Table1.C2 est vide et je veux le mettre à jour de manière à ce qu'il soit égal à Table2.D2 à condition que Table1.C1 = Table2.D1 et que Table1.C3=1

    J'ai donc créée la requete suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Table1 SET Table1.C2 = (SELECT Table2.D2 FROM Table2  INNER JOIN Table1 ON Table2.D1=Table1.C1) WHERE Table1.C3=1;
    Lorsque je lance la requête j'obtiens le message d'erreur : "L'opération doit utiliser une requête qui peut être mis à jour".
    Et ma requête de mise à jour ne s'effectue évidemment pas.

    Quelqu'un aurait-il une explication et éventuellement un remède?

    Merci

  2. #2
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut, essaye comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "UPDATE....
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  3. #3
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    En passant par du vba alors?

  4. #4
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    J'ai essayé mais j'ai le même message d'erreur... mais en vba ;-)

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE matable INNER JOIN matableb ON matable.c1 = matableb.d1 SET matable.c2 = [matableb].[d2]
    WHERE (((matable.c2) Is Null) AND ((matable.c3)=1));
    Elle est pas belle la vie ?

  6. #6
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    ok, Merci. Avec quelques petites modifs ça a fonctionné.
    Le truc c'est donc de mettre la jointure avant le SET.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  2. Réponses: 4
    Dernier message: 20/03/2007, 09h54
  3. SQL Update d'une table à partir d'une autre table
    Par Jean-Marc68 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 16/03/2007, 13h22
  4. [D7],[Access], update d'une table à partir d'une autre
    Par iam dans le forum Bases de données
    Réponses: 4
    Dernier message: 06/11/2006, 18h14
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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