Berechne

Berechnet einen Ausdruck als Formel.

Format 

Berechne ( Ausdruck {; [ Feld1 ; Feld2 ; Feld3 ; ...]} )

Parameter 

Ausdruck - beliebiger Textausdruck oder Textfeld.

Felder - eine Liste von Feldern, von denen diese Funktion abhängt. Wenn diese Felder geändert werden, aktualisiert die Formel ihr Ergebnis.

Parameter in geschweiften Klammern { } sind optional. Beachten Sie, dass das optionale Feld von eckigen Klammern [ ] umgeben ist.

Zurückgegebener Datentyp 

Text, Zahl, Datum, Zeit, Zeitstempel, Container

Ursprung in Version 

7.0

Beschreibung 

Die optionalen Feldparameter sind eine Liste von Feldern, von denen diese Formel abhängt. Wenn ein erforderliches Feld nicht aufgelistet wird, wird beim Ändern dieses abhängigen Felds das Formelergebnis nicht aktualisiert.

Hinweise 

  • Wenn ein serverseitiges Script die Funktion „Berechne“ enthält, müssen Sie englische Funktionsnamen bei der Berechnung der Formel verwenden. „Berechne“ erkennt keine lokalisierten Funktionsnamen, wenn es in einem serverseitigen Script ausgeführt wird. Weitere Informationen finden Sie unter Ausführen von Scripts auf FileMaker Server und FileMaker Cloud.

Beispiel 1 

Berechne ( Textfeld ) gibt 4 zurück, wenn Textfeld „2 + 2“ enthält.

Berechne ( "Textfeld" ) gibt 2+2 zurück, wenn Textfeld „2 + 2“ enthält.

Berechne ( HoleFeldwert ( "Textfeld" ) ) gibt 4 zurück, wenn Textfeld „2 + 2“ enthält.

Berechne ( Textfeld ; [Betrag] ) gibt 0,80 zurück, wenn Textfeld „0,08 * Betrag“ und das Betrag-Feld „10,00“ enthält.

Beispiel 2 

Berechne ( "SetzeVar ( Provision=0,05 ; "& Provisionsberechnung &" ) " ) gibt 0,50 zurück, wenn das Feld „Provisionsberechnung“ den Wert „Zwischensumme * Provision“ enthält, wobei Zwischensumme ein Zahlenfeld ist, das 10,00 enthält.

Beispiel 3 

Das folgende Beispiel zeigt, wie benannte Parameter mithilfe der Funktionen Berechne, SetzeVar und Hole ( ScriptParameter ) übergeben werden, die nur Zugriff auf die Variable a gestatten (das Beispiel gibt 6 zurück):

Kopieren
ScriptParameter = "a = 5 ; b = 10"
Kopieren
Berechne ("SetzeVar ( [" & Hole ( ScriptParameter ) & "] ; a + 1 )" )

Beispiel 4 

Das folgende Beispiel zeigt, wie benannte Parameter übergeben werden, wobei der Zugriff sowohl auf die Variable a als auch auf b erlaubt ist. Durch die Vereinfachung des ersten Parameters wird der zweite Parameter komplexer (das Beispiel gibt 6, 12 zurück):

Kopieren
ScriptParameter = "a = 5 ; b = 10"
Kopieren
Berechne ( "SetzeVar ( [" & Hole ( ScriptParameter ) & "] ; a + 1 & \", \" & b + 2 )" )

Beispiel 5 

Das folgende Beispiel zeigt, wie benannte Parameter übergeben werden, während die Syntax des zweiten Parameters der Funktion SetzeVar weiterhin geprüft werden kann (Das Ergebnis gibt 6, 12 zurück):

Kopieren
ScriptParameter = "a = 5 ; b = 10"
Kopieren
SetzeVar ( [a = Berechne ( "SetzeVar ( [" & Hole ( ScriptParameter ) & "] ; a )"),
            b = Berechne ("SetzeVar ( [" & Hole ( ScriptParameter ) & "] ; b )")] ; a + 1 & ", " & b + 2 )

Beispiel 6 

Die Funktion „Berechne“ berechnet einen Ausdruck einschließlich Feldwerten, die als Formel berechnet werden sollen. Mit ihr können Sie auch Feldabhängigkeiten angeben, so dass die Berechnung einer Formel abhängig von Änderungen in anderen Feldern desselben Datensatzes ausgelöst werden kann. Diese Funktion berechnet benutzerdefinierte Formeln. Sie können z. B. eine Formel im Feld „Gesamt“ erstellen, die die Steuer berechnet:

Kopieren
Berechne (SteuerFormel) + Versand

wobei das Feld „Steuer“ Folgendes enthält:

Kopieren
Zwischensumme * 1,0875

und das Feld „Zwischensumme“ enthält die Zwischensumme vor Steuer und Versand.

Die Funktion „Berechne“ enthält einen optionalen zweiten Parameter, der ein Feld angibt, von dem die Berechnung abhängt. Wenn sich der Inhalt des abhängigen Felds ändert, berechnet FileMaker Pro die Formel neu. Im folgenden Beispiel wird die Formel „Gesamt“ neu berechnet, wenn sich das Feld „Zwischensumme“ ändert:

Kopieren
Berechne (SteuerFormel, Zwischensumme) + Versand

Der abhängige Parameter kann auch in anderen Fällen nützlich sein. Beispiel:

Kopieren
Berechne ( "Hole ( System Zeitstempel )", [FeldB, FeldC] )

Speichert einen Zeitstempel im Formelfeld, immer wenn sich FeldB oder FeldC ändert.