Jump to content
  • 0

Union de deux tables


cdestrib
 Share

Question

Bonjour,

Soit 3 tables

"Presta" stockant des données relatives à des traiteurs

"Lieux" stockant les données relatives à des lieux de réceptions

"Opé" stockant les intervenants pour un événement donné 

"Presta" et "Lieux" ont, en autres, 3 rubriques : "UUID", "Nom" et "Type"

J'ai besoin de présenter, dans "Opé" une liste combinée des UUIDs, noms et lieux de "Presta" et "Lieux".

Pour cela je vois 3 solutions :

1. Fusionner les tables "Presta" et "Lieux" en une seule. Ce n'est pas très élégant, sachant que la majorité des autres rubriques de ces tables n'ont rien en commun.

2. Créer d'une nouvelle table ayant pour seul fonction de rassembler les valeurs des rubriques "UUID", "Nom" et "Type" afin de pouvoir les présenter dans une liste déroulante. Cela nécessite alors de maintenir la table à jour par un script qui serait déclenché dès qu'une nouvelle fiche serait créée soit dans "Presta", soit dans "Lieux".

3. Faire une requête SQL "UNION ALL" qui permet la création d'une liste dynamique des valeurs séparées par des retours chariots.

ExecuteSQL ( "SELECT UUID, Nom, Type FROM PrestaUNION ALLSELECT UUID, Nom, Type FROM Lieux" ;"";"")

Le résultat de la requête est stockée dans une variable ou une rubrique. Mais je ne vois pas comment tirer partie de cette liste : si je l'associe à une liste déroulante, par exemple, les éléments de la liste apparaissent bien à l'écran sous forme d'une entrée unique ayant de nombreuses lignes cliquer sur une ligne revient à sélectionner l'élément entier, ce qui n'est pas intéressant.

Voici ma question (enfin ?) : est-il possible d'identifier dans quelle ligne de la liste l'utilisateur a cliqué afin d'en extraire l'UUID et le reste ? Ou bien est-il possible de ventiler le contenu de cette élément multi-lignes dans une liste ayant autant de valeurs que de lignes ?

Ou encore, y a-t-il une meilleure solution à cette problématique ?

Merci d'avance pour votre aide.

Cyrille

 

 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Fabrice,

Merci pour ta suggestion. J'avais déjà parcouru ton témoignage sur ce projet mais j'ai pris le temps de le relire très attentivement.

Si je comprends, je prends le résultat de ma requête SQL (composée de lignes séparées par des ¶), j'en fais un fichier que j'appelle ultérieurement dans une Value List en choisissant l'option "Use values from another file" ?

Link to comment
Share on other sites

  • 0

Euh... non, je me trompe. J'ai regardé le fichier joint à ton blog mais je suis loin de tout comprendre.

Dois réétudier la chose...

Link to comment
Share on other sites

  • 0

Non, c’est moi qui ai mal compris : je pensais que tu voulais afficher une vue liste, pas une liste de valeurs.

Pour une liste de valeur, tu peux utiliser la technique Magic Value List (rechercher sur FileMaker Hacks), mais cela ne fonctionnera qu’avec un champ. Pour récupérer l’ID, il faudra utiliser un jeu de référence externes après la saisie.

FileMaker ne peut pas résoudre la jointure vers de multiples tables.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...