Evaluate

式を計算として評価します。

構文 

Evaluate (式 {; [フィールド 1 ; フィールド 2 ; ...]})

引数 

- テキスト式またはテキストフィールド

フィールド - この関数が依存するフィールドの一覧。これらのフィールドが変更されると、計算式によって結果が更新されます。

中カッコ { } 内の引数はオプションです。オプションのフィールドリストは、角カッコ ([ ]) で囲まれています。

戻り値のデータタイプ 

テキスト、数字、日付、時刻、タイムスタンプ、オブジェクト

起点バージョン 

7.0

説明 

オプションのフィールド引数には、この計算が依存するフィールドの一覧を指定します。必要なフィールドの一覧が記述されていない場合、依存するフィールドを変更しても計算結果は更新されません。

メモ 

  • サーバーサイドスクリプトに Evaluate 関数が含まれる場合、Evaluate の計算では英語の関数名を使用してください。Evaluate 関数は、サーバーサイドスクリプトで評価された場合、ローカライズされた関数名を認識しません。FileMaker Server および FileMaker Cloud でのスクリプトの実行を参照してください。

例 1 

テキストフィールドの値が「2 + 2」の場合、Evaluate (テキストフィールド) は「4」を返します。

テキストフィールドの値が「2 + 2」の場合、Evaluate ("テキストフィールド") は「2 + 2」を返します。

テキストフィールドの値が「2 + 2」の場合、Evaluate (GetField ("テキストフィールド")) は「4」を返します。

テキストフィールドの値が「.08 * 金額」、「金額」フィールドの値が「10.00」の場合、Evaluate (テキストフィールド ; [金額]) は「.80」を返します。

例 2 

「税率の計算」フィールドの値が「小計 * 税率」で、「小計」フィールドに「10.00」が含まれる数字フィールドの場合、Evaluate ("Let (税率 = .05 ; "& 税率の計算 &")") は、「.50」を返します。

例 3 

次の例では、変数「a」のみにアクセスし、EvaluateLet、および Get (スクリプト引数) 関数を使用して、指定した引数を渡す方法を示します (この例では、「6」が返されます):

コピー
スクリプト引数 = "a = 5 ; b = 10"
コピー
Evaluate ("Let ([" & Get (スクリプト引数) & "] ; a + 1)")

例 4 

次の例は、「a」および「b」の両方の変数にアクセスして、指定された引数を渡す方法を示します。最初の引数が簡単な分、2 番目の引数はより複雑になります (この例では、「6, 12」が返されます):

コピー
スクリプト引数 = "a = 5 ; b = 10"
コピー
Evaluate ("Let ([" & Get (スクリプト引数) & "] ; a + 1 & \", \" & b + 2)")

例 5 

次の例は、Let 関数の 2 番目の構文をチェックできるようにしつつ、指定した引数を渡す方法を示します (この例では、「6, 12」が返されます)。

コピー
スクリプト引数 = "a = 5 ; b = 10"
コピー
Let ([a = Evaluate ("Let ([" & Get (スクリプト引数) & "] ; a)"),
            b = Evaluate ("Let ([" & Get (スクリプト引数) & "] ; b)")] ; a + 1 & ", " & b + 2)

例 6 

Evaluate 関数は、式 (計算式として評価されるフィールド値を含む) を評価します。また、フィールドの依存関係を指定して、同じレコードの他のフィールドでの変更に基づいて、評価関数を使用する計算を開始することもできます。この関数は、ユーザ定義の式を評価します。たとえば、次のように、州税を計算する式を「合計」フィールド内に作成することができます:

コピー
Evaluate (州税の計算式) + 輸送費

「州税の計算式」フィールドには、次のテキストが含まれています:

コピー
小計 * 1.0875

「小計」フィールドには、税金および輸送費を加える前の小計が含まれています。

Evaluate 関数には、オプションとして 2 番目の引数があり、ここに計算の基準となるフィールドを指定します。依存するフィールドの内容が変更されると、FileMaker Pro で計算式が再評価されます。次の例では、「小計」が変更されると、「合計」が再計算されます:

コピー
Evaluate (州税の計算式 ; 小計) + 輸送費

依存する引数は、他の場合にも役立つことがあります。例:

コピー
Evaluate ("Get (タイムスタンプ)" ; [フィールド B ; フィールド C])

フィールド B またはフィールド C が変更されるたびに、計算フィールドにタイムスタンプを保存します。