Jump to content
  • 0
Thémis

Les enregistrements dans une TE peuvent-ils provenir de tables différentes ?

Question

Bonjour,

J’ai une table A et une table B. Dans un modèle basé sur la table B, j’ai placé une TE dans laquelle j’affiche des enregistrements provenant de la table B2 et qui répondent à un critère précis. Jusque-là, tout va bien.

Certains enregistrements de la table A répondent aussi à ce même critère. J’aimerais donc les afficher aussi dans la TE en question.

En d’autres mots, est-il possible d’afficher dans une TE des enregistrements provenant de deux tables différentes ?

Je soupçonne qu’il faudrait peut-être d’abord regrouper les enregistrements à afficher dans la TE dans une même table distincte. Suis-je sur la bonne piste ? Si oui, comment faire ?

Merci.

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

C'est la bonne piste.

Cela s'appelle une liste virtuelle.

Il y a plein d'exemples sur ce sujet (Virtual List).

Pour ma part, j'ai évoqué précisément cette situation ici. Attention la technique de source de donnée variable n'est pas nécessaire ici. Ce qui compte est la description de la situation.

Share this post


Link to post
Share on other sites
  • 0

Merci Fabrice,

Ma connaissance plus qu'imparfaite de FM ne me permettra probablement pas de mettre cette technique en place sans poser d'autres questions sur ce forum, mais je vais d'abord étudier très attentivement votre texte et votre façon de faire.

Share this post


Link to post
Share on other sites
  • 0

Bonsoir Thémis...Fabrice propose déjà les étoiles, pour démarrer progressivement ceci peut je l'espère aider :

 

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

Grâce aux explications et outils fournis par Fabrice et Tanguy, j’ai pu mettre en place la structure qui me permet de créer une liste virtuelle. Tout fonctionne bien mais il reste un hic. Je m’explique.

Le script de création de la liste virtuelle est exécuté à partir d’un modèle basé sur la table B. Sur ce modèle, j’ai la rubrique Participant et la rubrique Activité. Quand la rubrique Participant ne contient qu’un nom, tout va bien, le script vérifie tous les enregistrements de la table B où la rubrique Participant contient ce nom, puis il fait la même chose dans la table A, et produit ensuite une liste des activités provenant des deux tables.

Mais quand la rubrique Participant de la table B contient plus d’un nom, ça ne fonctionne plus. Il me faut donc une boucle qui va permettre de répéter l’opération pour chacun des noms de la rubrique Participant de la table B. Mais je n’ai pas vraiment idée de la manière de construire cette boucle. J’ai fait plusieurs tentatives mais sans résultat. Quelqu’un pourrait-il me guider ?

Ou offrir une autre solution (plus simple) le cas échéant ?

Merci.

Share this post


Link to post
Share on other sites
  • 0

Tout dépend de ce que tu souhaites. Une rangée par nom ou par enregistrement ?

Dans le premier cas, je ne pense ps qu'il y ait de problème, il faut simplement construire (ou afficher) sa liste en fonction de la liste des noms, dans le second, le problème se pose si les noms sont séparés par des retours chariot dans les enregistrements d'origine. Il faut donc "compacter/décompacter".

Par exemple en remplaçant (substituer) le retour chariot par un signe ou code particulier à la source ou pendant la collecte des données, et en décompactant (substitution inverse) dans le calcul au niveau de la liste virtuelle.

Share this post


Link to post
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...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...