Truc FileMaker N°16 – Chemin d’un document

Obtenir les valeurs d'une liste

Comment savoir où est le document que porte une rubrique conteneur ?

23 h un soir d’octobre… Avant d’éteindre ma machine, je jette un œil sur des questions FileMaker. Je tombe sur celle de Roger :

« Je bute sur un script.
J’ai une rubrique conteneur qui porte des  fichiers pdf, excel, TextEdit, jpg,…
avec stockage par la référence au fichier.

Je veux une rubrique texte me donnant le chemin d’accès du fichier « .

Vu l’heure tardive, je choisis sa question car la réponse sera rapide 😉

Et voici ma réponse :

Pas besoin de script, juste une rubrique de calcul.
Mettons que la rubrique conteneur se nomme Document.
On peut créer une rubrique de calcul nommée Infos définie ainsi :
Infos = Document.
Définir le résultat en texte.

Ok, c’est bon pour Roger 😉

Et voilà qu’une semaine après, Fred revisite cela depuis sa Suisse natale.
Et il a la bonne idée de compléter, ou plutôt d’affiner ma réponse.
Lisons-le :

Comme l’a souligné Michel, nul besoin de créer un script pour réaliser ce que tu souhaites, puisqu’une simple rubrique de type calcul (résultat : texte) peut suffire !
Voici la formule que je te conseilles d’utiliser dans cette dite rubrique :
ObtenirValeur ( LaTableDeRoger::SaRubriqueConteneur ; DecompteValeurs ( LaTableDeRoger::SaRubriqueConteneur ) )
En effet, les références stockées sont composées de plusieurs valeurs, séparées par des caractères Retour. La dernière valeur est alors la plus détaillée…

Et oui, Fred a raison. Détaillons un peu l’explication.

Je place en référence externe un petit fichier FileMaker d’exercice GlobaleModifiable.fmp12. Et oui, on peut mettre un fichier FileMaker dans une rubrique FileMaker 😉
Ma rubrique de calcul Infos telle que je la présente à Roger, me donne :

file:../Desktop/GlobaleModifiable.fmp12
filemac:/ML_HD1/Users/ML/Desktop/GlobaleModifiable.fmp12

En fait, ce sont deux façons de répondre à la question mais la seconde est plus complète.

On remarque, comme le signale Fred, que les deux présentations sont l’une en dessous de l’autre. C’est dire qu’elles sont séparées par un pied de mouche « ¶ » (un retour chariot en terme de machine à écrire). En termes FileMaker, cela veut dire qu’il y a deux valeurs.

La fonction qui nous intéresse existe depuis FileMaker 8 et s’écrit :

ObtenirValeur ( ListeDeValeurs ; NombreDeValeurs ).

Parfait ! Mais combien a-t-on de valeurs ? On pourrait faire des tests et vérifier si on en a toujours deux. Mais comme on veut la dernière, il est sans doute plus rapide de dire justement qu’on veut cette dernière. Or s’il y a n valeurs, la dernière est la nième, n’est-il pas ?

Pour savoir combien il y a de valeurs il suffit de les compter, ou… d’en faire le décompte. Justement, depuis FileMaker 7, il y a la fonction idoine : DecompteValeurs ( Texte ).

Il suffit de remplacer l’argument « nombreDeValeurs » par le calcul « DecompteValeurs ».

On y va ?

Infos = ObtenirValeur ( Document ; DecompteValeurs ( Document ) )

N’oubliez pas les parenthèses…

Conclusion ?

1) Les fonctions de calcul sont nombreuses, variées et puissantes, dans FileMaker. Autant en profiter…

2) Deux visions valent mieux qu’une et c’est pour cela qu’on ne devrait jamais faire un développement complétement seul. Au minimum avoir régulièrement un regard extérieur.


Michel lansard

Merci de laisser un commentaire (Pas de commentaire )

Désolé, les commentaires des articles réservés sont eux-mêmes réservés

Il n'y a pas de commentaire pour l'instant, soyez le premier ;-)