From FAQ Filemaker

Filemaker-avance: Le Russeling

^ Structure

Cette technique est nommée d'après le nom de son auteur, Rob Russel http://www.sumware.net/robfm/savingfoundsets.php

Problème :
Dans un SCRIPT FMP quand on bascule sur un autre modèle basé sur une table non liée, on perd le jeu d'enregistrements courant.

Solution :
Voici un moyen de sauvegarder le jeu d'enregistrements courant pour, une fois qu'on revient d'un autre modèle basé sur une autre table, restaurer rapidement le jeu d'enregistrements qu'on avait avant. Cette technique est connue sous le nom de Russeling

Supposons que nous ayons deux Tables TA et TB, avec leurs modèles MA et MB, et qu'on soit sur le modèle MA. Les Tables TA et TB peuvent être liées ou pas, cela n'a aucune incidence.

1 ) Créons une nouvelle occurrence de "TA" , nommons la "OT_esA", et ne la lions à rien d'autre.

2 ) Créons un modèle JeuA basé sur cette nouvelle occurrence "OT_esA"

3 ) Créons un script 'Sauvegarde Jeu Trouvé' qui sera lancé depuis le modèle "A"

Il ressemble à cela, avec 2 lignes de script :

Activer Enregistrement liés [ "TA" ; modèle "JeuA" ]
Activer Modèle "MA"

Il n'y a pas besoin de parcourir quoique ce soit. Le simple fait d'activer les enregistrements de l'occurrence de Table courante en utilisant un autre modèle basé lui sur une autre occurrence, puis de revenir sur son modèle d'origine, isole les enregistrements trouvés et leur tri. Si une fois dans notre modèle MA, on ignore 10 enregistrements, on pourra basculer sur JeuA pour se rendre compte que le jeu précédent a bien été mémorisé là bas.

4 ) Créons un script 'Restitution Ensemble Trouvé' :

Activer Modèle "JeuA"
Activer Enregistrements Liés [ "OT_esA" ; modèle "MA" ]

Là encore, ces deux lignes suffisent.

Récupéré sur http://cqfd-fmp.fr/index.php?n=Filemaker-avance.Russeling
Page mise à jour le 03 septembre 2008 à 09h10