Evalue une expression comme un calcul.
Evaluation ( Expression {; [ Rubrique1 ; Rubrique2 ;...]} )
Expression
: une expression ou une rubrique de type Texte.
Rubriques
: une liste de rubriques dont dépend cette fonction. Lorsque ces rubriques sont modifiées, le calcul met à jour le résultat.
Les paramètres situés entre deux accolades { } sont facultatifs. Veuillez noter que la liste des rubriques facultatives est indiquée entre crochets [ ].
Texte, nombre, date, heure, horodatage, conteneur
FileMaker Pro 7.0
Le paramètre facultatif Rubriques
correspond à une liste des rubriques dont dépend ce calcul. Si une rubrique nécessaire n'est pas répertoriée dans la liste, le fait de modifier cette rubrique dépendante ne met pas à jour le résultat du calcul.
•Si le script côté serveur contient la fonction Evaluation, utilisez les noms de fonctions anglais dans le calcul Evaluer. La fonction Evaluation ne reconnaît pas les noms de fonction localisés quand l'évaluation a lieu dans un script côté serveur. Consultez la section A propos de l'exécution des scripts dans FileMaker Server et les produits FileMaker Cloud.
Evaluation(RubriqueTexte)
renvoie 4 lorsque RubriqueTexte contient 2 + 2.
Evaluation("rubriquetexte")
renvoie 2 + 2 lorsque rubriquetexte contient 2 + 2.
Evaluation(ResultatRubrique("rubriquetexte"))
renvoie 4 lorsque rubriquetexte contient 2 + 2.
Evaluation(RubriqueTexte;[Montant])
renvoie 0,80 lorsque RubriqueTexte contient 0,08 * Montant et la rubrique Montant contient 10,00.
Evaluation ( "Definir ( TauxTVA=0,05 ; "& Calcul du taux de TVA & ")" )
renvoie 0,50 lorsque la rubrique Calcul du taux de Y+TVA contient Sous-total * TauxTVA avec Sous-total correspondant à une rubrique numérique de valeur 10,00.
Dans l'exemple suivant, vous verrez comment transférer des paramètres désignés à l'aide des fonctions Evaluation
, Definir
et Obtenir ( ParamètreScript )
, en autorisant uniquement l'accès à la variable "a"
(l'exemple renvoie 6) :
ParamètreScript = "a = 5; b = 10"
Evaluation("Definir ( [" & Obtenir ( ParamètreScript ) & "] ; a + 1 )" )
L'exemple suivant vous montre comment transférer des paramètres désignés, en autorisant l'accès aux variables "a"
et "b"
. Le premier paramètre simplifié rend le second paramètre plus complexe (l'exemple renvoie 6, 12) :
ParamètreScript = "a = 5; b = 10"
Evaluation("Definir ( [" & Obtenir ( ParamètreScript ) & "] ; a + 1 & \", \" & b + 2 )" )
L'exemple suivant montre comment transférer des paramètres définis, tout en conservant la possibilité de vérifier la syntaxe du second paramètre de la fonction Definir
(l'exemple renvoie 6, 12):
ParamètreScript = "a = 5; b = 10"
Definir( [a = Evaluation("Permettre( [" & Obtenir ( ParamètreScript ) & "]; a )"),
b = Evaluation("Definir( [" & Obtenir ( ParamètreScript ) & "] ; b )")] ; a + 1 & ", " & b + 2 )
La fonction Evaluation évalue une expression, y compris les valeurs des rubriques considérées comme formule de calcul. La fonction Evaluation vous permet également d'indiquer des dépendances de rubriques de sorte qu'un calcul utilisant cette fonction puisse être déclenché suite à des modifications survenues dans d'autres rubriques du même enregistrement. Cette fonction évalue les formules personnalisées. Par exemple, vous pouvez créer une formule dans la rubrique Total qui calcule la TVA d'un état :
Evaluation(FormuleTVAEtat) + CoûtExpédition
avec la rubrique FormuleTVAEtat contenant :
Sous-total * 1.0875
et la rubrique Sous-total contenant le sous-total hors taxe et les frais d'expédition.
La fonction Evaluation dispose d'un second paramètre facultatif à savoir une rubrique dont dépend le calcul. Lorsque le contenu de la rubrique dépendante change, FileMaker Pro Advanced procède à une réévaluation du calcul. Dans l'exemple suivant, le calcul Total sera réévalué lorsque le Sous-total changera :
Evaluation(FormuleTVAEtat; SousTotal) + FraisExpédition
Le paramètre dépendant peut également servir dans d'autres cas. Par exemple :
Evaluation ( "Obtenir ( HorodatageActuel )" ; [ RubriqueB ; RubriqueC ] )
enregistrera un horodatage dans la rubrique calcul, à chaque fois que RubriqueB ou RubriqueC connaîtront un changement.