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

Macros Access Discussion :

Jointure de 2 tables et valeur de champ="*" [Toutes versions]


Sujet :

Macros Access

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 96
    Points : 47
    Points
    47
    Par défaut Jointure de 2 tables et valeur de champ="*"
    Bonjour,
    Je rencontre un soucis dans une jointure de table.
    Tout marche pour le mieux sauf pour un champ1 de table1.
    Ce dernier est renseigné par la valeur "*", et Access recherche donc EXACTEMENT "*" dans le champ2 de la table2 jointe.
    Or je voudrai qu'Access interprète la valeur "*" comme équivalente à n'importe quelle valeur du champ 2 de ma table2 (e.g "00" à "ZZ").
    Comment puis-je résoudre mon problème ? VBA ou simple manipulation lors de la jointure ?

    Merci pour votre aide.

    Cdlt,
    David

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,


    Que cherches-tu à faire exactement ?

    La jointure n'est sans doute pas le bon moyen pour attiendre ton but.


    P.-S. Supprime donc ce message qui fait double-emploi. (Bouton Éditer.)
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 96
    Points : 47
    Points
    47
    Par défaut
    Suite aux MP que j'ai reçu, je dois surement apporter un complément d'information plus concret.
    Mes données sources (table 'Résultat1') viennent de l'ERP SAP avec les objets d'autorisation par utilisateur. Par exemple j'ai une table selon:
    USER object Value
    ‘DME’ ‘ACTVT’ ‘02’
    ‘VSD’ ‘TCD’ ‘FK01’
    Je compare ces données sources à une table "référence" afin de connaitre les utilisateurs disposant d'objets d'autorisation bien précis. Par exemple:
    Object Value PROFN
    ‘ACTVT’ ‘*’ ‘CREATE_ASSETS’
    Quand je joins ma table "Résultat1" avec "référence" sur les champs Object et Value, je devrai retrouver la combinaison suivant dans une table FINALE:
    USER Object Value PROFN
    ‘DME’ ‘ACTVT’ ‘02’ ‘CREATE ASSETS’

    Car pour l'ERP SAP, la valeur de champs "*" correspond à n'importe quelle valeur ; et cela inclut ‘02’. Or il semble que dans ACCESS; la combinaison ne fonctionne pas ACCESS ne considère pas "*" équivalent à "02" (ce que je peux comprendre).
    Comment alors contourner cette difficulté ?

    Merci pour aide et désolé de ne pas avoir été clair.

    cdlt,
    David

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Ne peux-tu pas passer par une étape intermédiaire qui consisterait à créer une table temporaire qui contient autant de lignes que de valeurs possibles pour "*" ?


    Par exemple comme ceci :



    SQL de Demultipliee :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT tOrigine.Objet, tOrigine.Valeur
    FROM tOrigine
    WHERE (((tOrigine.Valeur)<>"*"))
    ORDER BY tOrigine.Objet UNION SELECT tOrigine.Objet, tValPossible.ValeurPossible
    FROM tOrigine, tValPossible
    WHERE (((tOrigine.Valeur)="*"))
    ORDER BY tOrigine.Objet;
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 96
    Points : 47
    Points
    47
    Par défaut
    Merci à toi.
    C'est une solution qui répond parfaitement à mon besoin.

    David

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

Discussions similaires

  1. Réponses: 29
    Dernier message: 23/03/2013, 16h12
  2. [Toutes versions] Jointure de table et valeur de champ="*"
    Par dagada75 dans le forum Access
    Réponses: 2
    Dernier message: 25/02/2013, 15h32
  3. Réponses: 0
    Dernier message: 07/02/2011, 11h53
  4. Jointure de 3 tables avec un champ commun
    Par desperado007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/08/2005, 15h35
  5. [FOREIGN K] Valeur de champ = nom de table. Bonne pratique ?
    Par Seb des Monts dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/05/2005, 10h56

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