|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 2 ![]() |
Bonjour à tous,
Désolé si l'intitulé n'est pas très clair, je vais tâcher d'être plus précis. Je suis débutant sur access. J'ai une table "évènements". Pour chaque évènement, il y a deux participants. La table "évènement" contient donc les champs "participant 1" "participant 2". Je voudrais pour chacun de ces champs, une liste déroulante liée à une table "liste_participants". J'ai fait des tests avec un seul participant et je n'ai pas de soucis. Lorsque je clique dans la table "liste_participants" sur une ligne, j'obtiens bien la liste des évènements auxquels le participant en question a pris part. Par contre avec deux participants, cela ne marche uniquement si les deux participants sont identiques. (ce qui ne me sert à rien) J'en appelle donc à votre aide. Par avance, un grand merci ! |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 475 ![]() |
Premièrement tu as un problème de structure. Si on veut être stricte tu devrais avoir une table ParticipantEvenement dont l'architecture est la suivante :
ClefEvenement ClefParticipant Avec un index unique sur l'association ClefEvenement, ClefParticipant pour t'assurer que tu ne mets pas 2 fois le même participant pour un événement. (pour accéder au index appuyer sur l'îcone avec l'éclair dans le design de la table.) Note que cette architecture permet un nombre infini (enfin presque :-) de participants. Ça c'est si tu veux être rigoureux (ce que je recommande TRÈS vivement) dans ta structure de base de données. Si tu ne désires pas changer ton architecture actuelle, il suffit de faire 2 relations avec 2 fois la table Participant. Dans la fenêtre des relations il faut demander l'ajout de Particpant 2 fois. Cela va afficher Particpant et Participant_1 mais en réalité c'est la même table. Ensuite créer tes relations : une entre [Evenement].[ClefParticipant1] et [Participant].[ClefParticipant] et entre [Evenement].[ClefParticipant2] et [Participant_1].[ClefParticipant]. Note qu'avec cette structure, une personne peut être à la fois participant1 et participant2. 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. |
|
|
20
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 2 ![]() |
Merci beaucoup Marot pour ta réponse.
Citation:
1) Comme tu le soulignes, on peut mettre deux fois le même participant pour le même évènement. 2) De plus, pour que dans la table participants, un évènement soit "comptabilisé" dans la sous-feuille d'un participant, il faut justement que celui ci soit participant 1 ET participant 2... Citation:
Une fois que les relations sont crées, comment fait-on (en détails) pour que le obtenir une liste à choix multiple dans les champs "participant 1" et "participant 2" ? |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 475 ![]() |
Citation:
Citation:
Hypothèse 1 : tu utilises la table ParticipantEvenement. Dans ce cas, tu choisi chacun des participants 1 à 1 et tu ajoutes un enregistrement pour chaque participant donc ta liste est une simple liste basée sur la table des participants. Hypothèse 2 : tu utilises 2 champs participant dans la table Evenement. Là encore, tu peux simplement définir les 2 listes comme des listes basées sur la table des participants. Pour éviter qu'un participant soit mis 2 dois sur le même energistrements d'événement tu peux avoir une fonction VBA qui vérifie la saisie et prévient l'utilisateur. Tu pourrais aussi sans doute y arriver avec des listes mutulellement dépendantes. 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. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com