Changements récents - Rechercher:

Tutoriel Filemaker

  1. Structure
  2. Modèles
  3. Opérations diverses
  4. Calculs
  5. Scripts
  6. Privilèges d'accès

Filemaker avancé

  1. Partage des données
  2. Astuces et Exemples
  3. Développement

Règles de nommage

Versions de FileMaker Pro

Liens utiles Contact Commentaires

edit SideBar

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 ?

  • Probablement le plus important et un pont aux ânes pour certains : en haut de la boite, le contexte du calcul... D'où démarre-t-on ? Fixons-nous une règle pour éviter bien des déboires : comme tous les modèles sont basés sur des ancres, limiter les contextes des calculs aux ancres et ne jamais utiliser de bouées...
  • Partant du contexte, on a à gauche de la partie supérieure les rubriques du contexte et toutes les rubriques des OT liées. On pourra s'en servir à loisir pour effectuer les calculs.
  • A droite de la partie supérieure, on a quelque chose de nouveau : la liste des fonctions de calculs disponibles dans FileMaker Pro. Nous y reviendrons.
  • Au milieu de la partie supérieure, on a une liste de signes utiles et des opérateurs de comparaison. Notons que (un peu bizarrement) les signes peuvent être appelés par un simple clic alors que tous les autres éléments nécessitent un double clic... Attention, d'ailleurs, car un double-clic (l'habitude nous joue des tours) sur un des signes l'affichera deux fois.
  • Dans la partie inférieure, nous trouvons la fenêtre dans laquelle le calcul sera défini. Si on clique deux fois sur une rubrique ou sur une fonction, elle est immédiatement rajoutée dans cette fenêtre de calcul, avec ses paramètres (non renseignés).
  • En dessous à gauche, une petite fenêtre nous permet de définir le type de rubrique que l'on veut obtenir comme résultat. On l'oublie parfois, ce qui conduit à certaines surprises... Une bonne habitude est de commencer le calcul en définissant immédiatement le type de résultat souhaité.
  • En dessous à droite, on trouve le bouton "Autres Options", permettant le stockage global et l'indexation, de manière comparable aux options des autres types de rubriques (texte, nombre, date, etc...) :

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.

  • Un calcul mémorisé tient le résultat en mémoire lorsqu'il a été évalué (ou ré-évalué suite au changement de donnée d'un des éléments du calcul). Grâce à cela, un calcul mémorisé pourra être indexé si on le souhaite.
  • Un calcul non mémorisé ne tient pas le résultat en mémoire, mais est ré-évalué chaque fois que c'est nécessaire (apparition de la rubrique calcul sur un modèle, appel à la rubrique via une autre rubrique ou un script, changement de donnée d'un des éléments du calcul, etc.).

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

  • Une rubrique d'une OT liée
  • Une rubrique statistique
  • Une rubrique à stockage global
  • Une rubrique non mémorisée

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 ?

  • Si cette option est cochée, cela veut dire que le calcul est effectué une seule fois lors de la création de la rubrique, que le résultat est stocké dans la rubrique nombre et est considéré comme tel : il s'agit ni plus ni moins d'un nombre, parfaitement modifiable (si tant est qu'on n'a pas coché l'option "Entrée auto. non modifiable lors de la saisie", tout en dessous, bien sûr !), au même titre que n'importe quelle autre rubrique nombre. La seule différence est qu'une donnée a été auto-calculée lors de la création, et placée d'emblée dans la rubrique, qui n'est donc pas vide.
  • Si cette option n'est pas cochée, deux possibilités :
    • L'auto-calcul ne fait pas référence à une autre rubrique. Par exemple 1 + 2. Dans ce cas, le même comportement est constaté : le résultat est parfaitement modifiable. En fait, aucun élément ne fera se ré-évaluer l'auto-calcul.
    • L'auto-calcul utilise dans sa formule une autre rubrique (liée ou faisant partie de la table, ou autre), ou, soyons précis et complet, un élément de ré-évaluation telle une variable (? -> voir plus loin...)). Dans ce cas, l'auto-calcul pourra être ré-évalué : si la donnée de la rubrique qui fait partie de la formule de l'auto-calcul est changée, lorsque cette donnée est validée, l'auto-calcul est ré-évalué et un nouveau résultat apparaîtra, tenant compte de cette nouvelle donnée. Attention toutefois : une certaine paresse des calculs FileMaker Pro a été observée et la ré-évaluation de l'auto-calcul peut parfois s'avérer laborieuse. Il vaut mieux se contenter d'utiliser des rubriques de la même table au sein de la formule de calcul pour un meilleur résultat de ré-évaluation.

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==>
Éditer - Historique - Imprimer - Changements récents - Rechercher
Page mise à jour le 28 mai 2017 à 18h37