Utvärderar ett uttryck som en beräkning.
Evaluate(uttryck{;[fält1;fält2;...]})
uttryck
– ett textuttryck eller ett textfält.
fält
– en lista över fält som den här funktionen är beroende av. När de här fälten ändras uppdateras beräkningens resultat.
Parametrar inom klamrar {} är valfria. Lägg märke till att den valfria fältlistan är omgiven av hakparenteser [ ].
Text, numeriskt, datum, tid, tidsstämpel, container
FileMaker Pro 7.0
Den valfria parametern fält
är en lista över fält som den här beräkningen är beroende av. Om ett nödvändigt fält saknas i listan uppdateras inte resultatet av beräkningen när detta fält ändras.
•Om ett script på serversidan innehåller Evaluate-funktionen använder du engelska funktionsnamn i beräkningen för Evaluate. Evaluate känner inte igen lokaliserade funktionsnamn när det körs i ett script på serversidan. Mer information finns i Om att köra scripts på FileMaker Server och FileMaker Cloud.
Evaluate(Textfält)
returnerar 4 när Textfält innehåller 2 + 2.
Evaluate("textfält")
returnerar 2 + 2 när textfält innehåller 2 + 2.
Evaluate(GetField("textfält"))
returnerar 4 när textfält innehåller 2 + 2.
Evaluate(Textfält;[Belopp])
returnerar 0,80 när Textfält innehåller 0,08 * Belopp och fältet Belopp innehåller 10,00.
Evaluate("Let (Moms=0,05;"& Momsberäkning &")")
returnerar 0,50 när fältet Momsberäkning innehåller Delsumma * Moms, där Delsumma är ett numeriskt fält som innehåller 10,00.
Följande exempel visar hur du överför namngivna parametrar med hjälp av funktionerna Utvärdera
, Låt
och Get ( Scriptparameter )
och bara ger tillgång till variabeln "a"
(exemplet returnerar 6 ) :
Scriptparameter = "a = 5; b = 10"
Evaluate ("Let ([" & Get ( Scriptparameter ) & "]; a + 1 ) " )
Följande exempel visar hur du överför namngivna parametrar och ger tillgång till både variabeln "a"
och variabeln "b"
. Den förenklade första parametern gör den andra parametern mer komplex (exemplet returnerar 6, 12):
Scriptparameter = "a = 5; b = 10"
Evaluate ("Let ([" & Get ( Scriptparameter ) & "]; a + 1 & \", \" & b + 2 ) " )
Följande exempel visar hur du överför namngivna parametrar, samtidigt som du behåller möjligheten att kontrollera syntaxen för den andra parametern i funktionen Let (
exemplet returnerar 6, 12):
Scriptparameter = "a = 5; b = 10"
Let ([a = Evaluate (" Let ([" & Get ( Scriptparameter ) & "]; a ) " ) ,
b = Evaluate ("Let ([" & Get ( Scriptparameter ) & "]; b ) " ) ]; a + 1 & ", " & b + 2 )
Med funktionen Evaluate kan du utvärdera ett uttryck med fältvärden som ska utvärderas som en beräkningsformel. Du kan också ange fältberoenden, så att en beräkning som använder utvärderingsfunktionen kan utlösas vid ändringar i andra fält i samma post. Den här funktionen utvärderar användardefinierade formler. Du kan t.ex. skapa en formel som beräknar moms i fältet Total:
Evaluate(Momsformel) + Fraktkostnad
där fältet Momsformel innehåller:
Delsumma * 1,0875
och fältet Delsumma innehåller delsumman före moms och frakt.
Funktionen Evaluate har ytterligare en valfri parameter, som är ett fält som beräkningen är beroende av. När innehållet i det beroende fältet ändras utvärderar FileMaker Pro Advanced beräkningen på nytt. I följande exempel utvärderas beräkningen på nytt när Delsumma ändras:
Evaluate(Momsformel; Delsumma) + Fraktkostnad
Den beroende parametern kan också vara användbar i andra fall. Exempel:
Evaluate ("Get ( AktuellTidsstämpel ) " ; [FältB; FältC] )
lagrar en tidsstämpel i beräkningsfältet när FältB eller FältC ändras.