From FAQ Filemaker

Tutoriel-Filemaker: Introduction

^ Calculs Calculs élémentaires==>

La boite de dialogue des calculs FileMaker Pro


Pour effectuer des calculs dans FileMaker Pro, il nous faut avoir accès à la boite de dialogue des calculs. Une manière simple d'y parvenir est de se créer une rubrique de type calcul. On peut en créer une, dans notre fichier sur la table PAR_Parametres, que nous appellerons "test" tout simplement. Ce sera notre terrain de jeu :

Lorsque la rubrique calcul est créée, si la boite de dialogue ne s'est pas ouverte immédiatement, on peut y accéder en cliquant sur "option".
Nous pouvons aussi reprendre la rubrique Test qui existe déjà dans la table PARamètres. Il suffit de la passer du type "Texte" au type "Calcul" et de cliquer sur "Modifier" pour que la fenêtre de calcul s'ouvre, après le message d'avertissement. Cette boite de dialogue ressemble à ceci :

Notons d'emblée que nous rencontrerons souvent cette boite de dialogue, même en dehors de la définition des rubriques (au cours des pages précédentes, nous y avons déjà eu accès). Un exemple : l'adresse e-mail d'un courrier électronique peut être définie par calcul.

De quoi est composée cette boite de dialogue ?

Notons qu'il n'est pas possible d'indexer un calcul qui fera appel à une rubrique d'une OT liée.

La mémorisation des calculs FileMaker Pro


Un calcul FileMaker Pro peut être ou non mémorisé. Afin d"éviter toute confusion, notons une fois pour toutes que la mémorisation d'un calcul n'est pas l'indexation d'un calcul ! C'est uniquement la façon dont FileMaker Pro évalue le calcul.

Parfois, on n'a pas le choix : un calcul ne peut pas être mémorisé s'il fait appel à :

Attention toutefois : on pourrait s'attendre à une ré-évaluation foudroyante et instantanée des calculs non mémorisés. On est parfois surpris de constater qu'il n'en est rien, essentiellement dans le cas où des rubriques d'OT "éloignées" (3e, 4e rang ou plus) sont utilisées dans la formule de calcul. Certains développeurs utilisent des astuces pour "secouer" le calcul, avec plus ou moins de bonheur...

Les auto-calculs


Le résultat d'une rubrique calcul de Filemaker Pro ne peut, par définition, être changé manuellement. Cette propriété, qui paraît évidente, est parfois exploitée par des développeurs pour empêcher l'utilisateur de changer une donnée. Ainsi, si on veut, malgré nos recommandations, faire tout de même apparaitre le zkp sur un modèle utilisateur, il est préférable de fabriquer une rubrique calcul nombre, dont la formule est tout simplement "zkp", et de faire apparaître cette rubrique-là sur le modèle : elle ne peut être modifiée par définition.

D'autre part, on peut rapidement se trouver dans une situation où on souhaite malgré tout indexer notre calcul, alors qu'on se trouve dans une situation où le calcul est non mémorisable.

Pour pallier ces deux "inconvénients", il existe dans FileMaker Pro les auto-calculs. De quoi s'agit-il ? Au lieu de créer une rubrique de type calcul avec résultat texte, par exemple, on fait l'inverse : on crée une rubrique de type texte, avec en option d'entrée automatique un auto-calcul ! Dans les options d'auto-entrées, cet auto-calcul est accessible en cliquant "Définir" de l'option "Resultat de calcul" :

On obtient tout simplement et très exactement la même fenêtre de calcul que précédemment, si ce n'est que le résultat du calcul est pré-établi. A titre d'exemple, si on transforme la rubrique "test" en type nombre (et non plus calcul !), et qu'on crée un auto-calcul avec comme formule 1 + 2 (sans "), à chaque fois qu'un enregistrement sera créé la rubrique "test" contiendra la valeur 3. Le calcul a donc bien été effectué. Gros avantage ici : peu importe le contenu du calcul, nous n'avons plus les contraintes de mémorisation citées plus haut : le calcul est toujours mémorisé et, à ce titre, est parfaitement indexable, même si des rubriques liées, non mémorisées, statistiques ou globales sont utilisées dans la formule. Oui mais... Lorsque le calcul a été évalué à la création de l'enregistrement, que se passe-t-il par la suite ?

Il existe un choix important en option des auto-calculs : "Ne pas remplacer val. exist. de la rubrique (s'il y a lieu)" :

Qu'est-ce à dire ?

Encore une remarque sur les auto-calculs : comme leur donnée est évaluée lors de la création et est modifiable, si un auto-calcul est créé après que la table contienne déjà des enregistrements, l'auto-calcul ne sera pas évalué pour ces enregistrements existants... et la rubrique risque fort de rester vide ! Il faudra soit passer par un script, soit, après avoir cliqué dans la rubrique, à partir du menu FileMaker Pro, "Enregistrements", "Remplacer", "Remplacer par le résultat du calcul", et introduire la même formule de calcul que l'auto-calcul lui-même. Si l'auto calcul fait référence à une rubrique, on peut aussi "remplacer" la valeur de cette rubrique par elle-même. Le tout étant d'indiquer à la rubrique auto-calculée qu'il faut effectuer ce calcul. Mais cette opération est extrêmement dangereuse, car irréversible. Et si on s'est trompé de rubrique, il ne reste que les yeux pour pleurer... Donc, prudence !!!

^ Calculs Calculs élémentaires==>
Récupéré sur http://cqfd-fmp.fr/index.php?n=Tutoriel-Filemaker.Introduction-Calculs
Page mise à jour le 17 décembre 2018 à 02h49