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 :

Mise à jour des champs (pas null) d'une table vers une autre table [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 123
    Points : 70
    Points
    70
    Par défaut Mise à jour des champs (pas null) d'une table vers une autre table
    Bonjour à tous
    Voici mon problème, j'ai deux tables avec tout les champs identiques. La table T_Organisme contient tout les enregistrements tandis que la table T_Demande_Modification_Organisme contient un seul enregistrement avec certain champs de rempli. Ce que je veux faire c'est de mettre à jour la table T_Organimse à partir de la table T_Demande_Modification_Organisme, mais de mettre à jour seulement les champs qui ne sont pas null.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Ex: 
    T_Organisme
    NUM        NEQ           NomO         OrgNumPart
    1            123456        Alpa         C00041
    2            987654        Eso          C56709
    
    T_Demande_Modification_Organisme
    NUM        Neq_Mod     NomO_Mod     OrgNumPart_Mod
    1            999999                            C99941
    
    Résultat
    T_Organisme
    NUM        NEQ           NomO        OrgNumPart
    1            999999        Alpa         C99941
    2            987654        Eso          C56709
    Voici mon code qui ne fontionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE T_Organisme INNER JOIN T_Demande_Modification_Organisme ON T_Organisme.NEQ = T_Demande_Modification_Organisme.NEQ SET T_Organisme.NEQ = [T_Demande_Modification_Organisme]![Neq_Mod], T_Organisme.OrgNumPart = [T_Demande_Modification_Organisme]![OrgNumPart_Mod], T_Organisme.NomO = [T_Demande_Modification_Organisme]![NomO_Mod]
    WHERE (((T_Demande_Modification_Organisme.OrgNumPart_Mod) Is Not Null) AND ((T_Demande_Modification_Organisme.NEQ_Mod) Is Not Null) AND ((T_Demande_Modification_Organisme.NomO_Mod) Is Not Null));
    Merci de votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    Pourquoi ne pas utiliser la fonction IIF ? un truc dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    UPDATE T_Organisme TOr INNER JOIN T_Demande_Modification_Organisme TDMO ON TOr.NEQ = TDMO.NEQ 
    SET TOr.NEQ = iif(isnull(TDMO.Neq_Mod),TOr.NEQ,TDMO.Neq_MOD),
    TOr.OrgNumPart = iif(isnull(TDMO.OrgNumPart_Mod),TOr.orgNumPart,TDMO.OrgNumPart_Mod),
    TOr.NomO = iif(isnull(TDMO.NomO_Mod),TOr.NomO,TDMO.NomO_Mod)
    ;

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 123
    Points : 70
    Points
    70
    Par défaut
    Merci ca fonctionne comme je le veut.

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

Discussions similaires

  1. mise à jour des champs d'une ligne de table
    Par laurentSc dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/12/2009, 19h09
  2. Mise à jour des champs d'une table
    Par soso78 dans le forum Access
    Réponses: 2
    Dernier message: 14/12/2006, 15h57
  3. Module de mise à jour des champs d'une table
    Par kikaillo dans le forum Access
    Réponses: 14
    Dernier message: 18/04/2006, 09h42
  4. Réponses: 6
    Dernier message: 07/02/2006, 14h44

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