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 :

[AC-2016] Liste déroulante issue de plusieurs champs?


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [AC-2016] Liste déroulante issue de plusieurs champs?
    Bonjour!

    Voici mon problème.

    J'ai une table "Festivals" (champs: Nom, période de programmation, type de programmation, etc.)
    J'ai une table "Subventionneurs" (champs: Nom, type d'aides, montant de l'aide, etc.)
    J'ai une table "Contacts" (champs: Nom, Prénom, Structure de travail, adresse, etc.)

    J'ai donc deux tables dédiés aux structures ("Festivals" et "Subventionneurs") et une table dédiée aux contacts.

    J'aimerais que ma table "Contacts" regroupe tous mes contacts, qu'ils travaillent dans les Festivals ou les Institutions de subventionnement.

    J'aimerais donc que le champs "Structure de travail" de la table "Contacts" renvoi aux champs "Nom" des tables "Festivals" et "Subventionneurs".
    De sorte que, le champs "Structure de travail" de la table "Contacts" soit une liste déroulante combinée des champs "Nom" des tables "Festivals" et "Subventionneurs".
    De sorte que chaque entrée de la table "Contacts" soit reliée avec une entrée de la table "Festivals", ou bien avec une entrée de la table "Subventionneurs". Cela est dû au fait que chaque personne travaille soit dans une structure de type Festival ou dans une structure de type Institution de subventionnement.

    Existe-t-il un moyen de faire ce que je recherche? J'évoque l'idée de la liste déroulante, mais peut-être la solution est ailleurs...
    J'ai beaucoup cherché sur internet et sur le forum, et je n'ai pas trouvé.

    Je suis novice dans Access, aussi excusez-moi pour mon langage approximatif

    Merci d'avance pour votre coups de pouce!
    Armymen

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Le problème là c'est que tu mélanges les pommes et les oranges ... et qu'il n'y a pas solution simple pour faire mieux.

    La théorie voudrait que tu ais quelque chose comme :

    tblStructure
    ClefStructure
    CodeTypeStructure
    Autres infos communes aux festivals et subventionneurs

    tblTypeStructure
    ClefTypeStructure
    CodeTypeStructure
    DescriptionTypeStructure (Festival, Subventionneur)

    en relation avec tblTypeStructure

    tblFestival
    ClefFestival
    clefStructure
    CodeTypeStructure
    Autres infos.

    en relation avec tblStructure sur clefStructure, codeTypeStucture

    tblSubventionneur
    ClefSubventionneur
    clefStructure
    CodeTypeStructure
    Autres infos.

    en relation avec tblStructure sur clefStructure, codeTypeStucture

    tblContact
    ClefContact
    ClefStructure
    CodeTypeStructure
    Autres infos

    en relation avec tblStructure sur clefStructure, codeTypeStucture

    Bon, ça c'est le modèle théorique et il est idéal si tu prévois d'ajouter d'autres types d'entité.

    L'autre option est de faire ce qui suit.

    On garde la table contact AVEC le codeTypeStructure et on fait ainsi pour la requête de sélection pour ta liste.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    rListeFestival: select [tblFestival].[ClefFestival] as [ClefStructure], "FESTIVAL" as CodeTypeStructure, [tblFestival].[NomFestiva] as [NomStructure] from [tblFestival];

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    rListeSubventionneur: select [tblFestival].[ClefSubventionneur]  as [ClefStructure], "SUBVENSIONNEUR" as CodeTypeStructure, [tblSubventionneur].[NomSubventionneur] as [NomStructure] from [tblSubventionneur];

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    rListeStructure:
     
    select [rListeFestival].* from [rListeFestival]
    union all select [rListeSubventionneur].* from [rListeSubventionneu]
    order by [Nom]

    on fait
    une relation entre tblContact et tblFestival sur clefStrcture
    une relation entre tblContact et tblSubventionneur sur clefStrcture

    Si tes clefs sont des autonum il peut y avaoir conflit, il faudrait ajouter une champ CodeTypeStructure à tblFestival et tblSubventionneur.

    Et pas code, au moment où l'utilisateur choisi le contact, tu récupères la clef et le code de type de structure

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour Marot_r

    Merci beaucoup pour ta réponse détaillée!
    Oui, j'ai bien le sentiment que j'essaye de mélanger les pommes et les oranges...
    En même temps, je vois pas trop comment y échapper si je ne veux pas me retrouver avec une table Contacts pour chaque type de structures.

    Oui, je compte avoir d'autres types d'entités (ensembles musicaux, orchestres, etc.), ta première solution me paraît donc le bonne.
    Je vais essayer et je te tiens au courant du résultat

    Encore merci et à bientôt,
    Armymen

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Juste une possibilité que je n'ai pas évoquée précédemment car elle me semblait inadaptée à ton besoin :

    Faire une seule table pour les festivals et les subventionneurs qui contient TOUS les champs nécessaires à ces deux structures.
    Ensuite tu fais un écran par structures et tu affiches seulement les champs dont tu as besoin pour cette structure spécifique.
    Les autres champs restent vides.

    C'est une solution très simples qui a plein d'avantages notamment d'éviter des jointures mais n'oublie pas qu'une table Access ne peut avoir qu'au maximum 255 champs.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [AJAX] Liste déroulante qui alimente plusieurs champs texte
    Par alone06 dans le forum jQuery
    Réponses: 4
    Dernier message: 07/07/2014, 23h00
  2. [AC-97] Liste déroulante basée sur plusieurs champs d'une table
    Par docjo dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 02/01/2012, 17h01
  3. Réponses: 1
    Dernier message: 09/04/2007, 16h56
  4. Réponses: 1
    Dernier message: 04/07/2006, 23h11
  5. Réponses: 5
    Dernier message: 13/10/2005, 10h19

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