リファレンス > 関数リファレンス > 論理関数 > Evaluate
 
Evaluate
目的 
式を計算として評価します。
構文 
Evaluate ( 式 {; [フィールド1 ; フィールド2 ; ...] } )
引数 
- テキスト式またはテキストフィールド
フィールド - この関数が依存するフィールドの一覧。これらのフィールドが変更されると、計算式によって結果が更新されます。
中カッコ { } 内の引数はオプションです。オプションのフィールドリストは、角カッコ ([ ]) で囲まれています。
戻り値のデータタイプ 
テキスト、数字、日付、時刻、タイムスタンプ、オブジェクト
起点 
FileMaker Pro 7.0
説明 
オプションのフィールド引数には、この計算が依存するフィールドの一覧を指定します。必要なフィールドの一覧が記述されていない場合、依存するフィールドを変更しても計算結果は更新されません。
メモ 
サーバーサイドスクリプトに Evaluate 関数が含まれる場合、Evaluate の計算では英語の関数名を使用してください。Evaluate 関数は、サーバーサイドスクリプトで評価された場合、ローカライズされた関数名を認識しません。FileMaker Server でのスクリプトの実行を参照してください。
 
テキストフィールドの値が「2 + 2」の場合、Evaluate ( テキストフィールド ) は「4」を返します。
テキストフィールドの値が「2 + 2」の場合、Evaluate ( "テキストフィールド" ) は「2 + 2」を返します。
テキストフィールドの値が「2 + 2」の場合、Evaluate (GetField ( "テキストフィールド" ) ) は「4」を返します。
テキストフィールドの値が「.08 * 金額」、「金額」フィールドの値が「10.00」の場合、Evaluate ( テキストフィールド ; [金額] ) は「.80」を返します。
「税率の計算」フィールドの値が「小計 * 税率」で、「小計」フィールドに「10.00」が含まれる数字フィールドの場合、Evaluate ( "Let ( 税率 = .05 ; "& 税率の計算 &")" ) は、「.50」を返します。
次の例では、変数「a」のみにアクセスし、EvaluateLet、および Get (スクリプト引数) 関数を使用して、指定した引数を渡す方法を示します (この例では、「6」が返されます)。
スクリプト引数 = "a = 5 ; b = 10"
Evaluate ( "Let ( ["& Get (スクリプト引数) &"] ; a + 1 )" )
次の例は、「a」および「b」の両方の変数にアクセスして、指定された引数を渡す方法を示します。最初の引数が簡単な分、2 番目の引数はより複雑になります (この例では、「6, 12」が返されます)。
スクリプト引数 = "a = 5 ; b = 10"
Evaluate ( "Let ( [" & Get (スクリプト引数) & "] ; a + 1 & \", \" & b + 2 )" )
次の例は、Let 関数の 2 番目の構文をチェックできるようにしつつ、指定した引数を渡す方法を示します (この例では、「6, 12」が返されます)。
スクリプト引数 = "a = 5 ; b = 10"
Let ( [ a = Evaluate ( "Let ( ["& Get (スクリプト引数) &"] ; a )" ),
b = Evaluate ( "Let ( ["& Get (スクリプト引数) & "] ; b )" )] ; a + 1 & ", " & b + 2 )
メモ  Evaluate 関数は、式 (計算式として評価されるフィールド値を含む) を評価します。また、フィールドの依存関係を指定して、同じレコードの他のフィールドでの変更に基づいて、評価関数を使用する計算を開始することもできます。この関数は、ユーザ定義の式を評価します。たとえば、次のように、州税を計算する式を「合計」フィールド内に作成することができます。
Evaluate ( 州税の計算式 ) + 輸送費
「州税の計算式」フィールドには、次のテキストが含まれています。
小計 * 1.0875
「小計」フィールドには、税金および輸送費を加える前の小計が含まれています。
Evaluate 関数には、オプションとして 2 番目の引数があり、ここに計算の基準となるフィールドを指定します。依存するフィールドの内容が変更されると、FileMaker Pro で計算式が再評価されます。次の例では、「小計」が変更されると、「合計」が再計算されます。
Evaluate ( 州税の計算式 ; 小計 ) + 輸送費
依存する引数は、他の場合にも役立つことがあります。次に例を示します。
Evaluate ( "Get (タイムスタンプ)" ; [フィールドB ; フィールドC] )
フィールドB またはフィールドC が変更されるたびに、計算フィールドにタイムスタンプを保存します。
関連項目 
関数リファレンス (種類順)
関数リファレンス (名前順)
計算式について
関数について
計算フィールドの定義
計算式での演算子の使い方