Bonjour à tous.
Je cherche à faire un type de relation que j'appelle "miroir".
C'est simple à schématiser : imaginons un formulaire de personnages historiques (Napoléon, Louis XIV, etc.) prenant sa source dans une table (champs "ID_personnage" et "nom"). Je voudrais faire apparaître dans un sous-formulaire les personnages qui ont rencontré le personnage actif.
J'ai essayé en créant une table de jonction avec trois champs "ID_jonction", "personnage_1" et "personnage_2" et son sous-formulaire associé. Dans les relations, les deux champs "personnage_..." sont reliés au champ "ID_personnage" de la table principale.
Je fais mon formulaire principal, j'inclue le sous-formulaire et le relie avec les champs ID_personnage = personnage_1.
Ça marche très bien : par exemple je crée Louis XIV, Napoléon, Molière, Clemenceau, La Fontaine, Murat, etc. Je vais sur le formulaire, je regarde Louis XIV et je renseigne son sous-formulaire "a rencontré" avec "Molière" et "La Fontaine", et ainsi de suite.
Oui mais voilà : ensuite, quand je consulte Molière, le sous-formulaire "a rencontré" est vide alors que je voudrais qu'il affiche "Louis XIV" et "La Fontaine", en toute logique.
Quelle architecture adopter pour cela ?
J'ai bien pensé à faire une routine VBA qui, à chaque nouvel enregistrement dans la table de jonction, crée automatiquement un enregistrement supplémentaire "miroir" avec les mêmes personnages dans l'autre sens, mais c'est fastidieux, cela double les enregistrements, alourdit les processus et, finalement, ne me plaît pas.
Existe-t-il une solution ?
Merci
Partager