Evaluate

Utvärderar ett uttryck som en beräkning.

Format 

Evaluate ( uttryck {; [fält1 ; fält2 ;...]} )

Parametrar 

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 [ ].

Returnerad datatyp 

Text, numeriskt, datum, tid, tidsstämpel, container

Ursprungsversion 

7.0

Beskrivning 

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.

Kommentarer 

  • 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.

Exempel 1 

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.

Exempel 2 

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.

Exempel 3 

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 ) :

Kopiera
Scriptparameter = "a = 5; b = 10"
Kopiera
Evaluate ( "Let( [" & Get ( Scriptparameter ) & "]; a + 1 ) " )

Exempel 4 

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):

Kopiera
Scriptparameter = "a = 5; b = 10"
Kopiera
Evaluate ( "Let( [" & Get ( Scriptparameter ) & "]; a + 1 & \", \" & b + 2 ) " )

Exempel 5 

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):

Kopiera
Scriptparameter = "a = 5; b = 10"
Kopiera
Let( [a = Evaluate ( " Let( [" & Get ( Scriptparameter ) & "]; a ) " ) ,
            b = Evaluate ( "Let( [" & Get ( Scriptparameter ) & "]; b ) " ) ]; a + 1 & ", " & b + 2 )

Exempel 6 

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:

Kopiera
Evaluate( Momsformel ) + Fraktkostnad

där fältet Momsformel innehåller:

Kopiera
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 beräkningen på nytt. I följande exempel utvärderas beräkningen på nytt när Delsumma ändras:

Kopiera
Evaluate( Momsformel; Delsumma ) + Fraktkostnad

Den beroende parametern kan också vara användbar i andra fall. Exempel:

Kopiera
Evaluate ( "Get ( AktuellTidsstämpel ) " ; [FältB; FältC] )

lagrar en tidsstämpel i beräkningsfältet när FältB eller FältC ändras.