ExecuteSQL
目的 
指定したテーブルオカレンスに対する SQL クエリーステートメントを FileMaker Pro データベース内で実行します。
構文 
ExecuteSQL ( SQL クエリー; フィールド区切り; 行区切り { ; 引数... } )
引数 
SQL クエリー - SQL クエリーステートメント。ステートメントには、2つのクエリーの結果を組み合わせた Union 句を含むことができます。ステートメントには、オプションの引数がクエリーのどこで使用されるかを示す、プログラムに基づいて生成された SQL(ダイナミックパラメータ)を含むことができます。ダイナミックパラメータを指定する場合は疑問符(?)を使用します。
フィールド区切り - 計算結果のフィールド間の区切りとして使用される文字列。空の文字列が指定されると、区切りはコンマになります。フィールド区切りは、計算結果の最終フィールドの後には表示されません。
行区切り - 計算結果の中のレコード間の区切りとして使用される文字列。空の文字列が指定されると、区切りは改行になります。行区切りは、計算結果の最終行の後には表示されません。
引数- クエリーステートメントのダイナミックパラメータの値として評価、使用される
戻り値のデータタイプ 
テキスト
起点 
FileMaker Pro 12.0
説明 
ExecuteSQL では、インジェクション攻撃によるセキュリティの脆弱性を避けるように FileMaker Pro データベースを安全にクエリーするためのダイナミックパラメータを含むSQLステートメントを実行します。
ExecuteSQL は、データまたはデータベーススキーマを変更する SQL ステートメント(テーブルを挿入または削除するコマンドなど)と同時に使用することはできません。
FileMaker Pro は、オペレーティングシステムやファイルのロケールではなく、Unicode/SQL 形式で日時を返します。
クエリー解析または実行時にエラーが発生した場合、FileMaker Pro は? を返します。
ExecuteSQL は、FileMaker Pro で作成されたリレーションシップを認識しないので、SQL ステートメントのリレーションシップを柔軟に定義することができます。
 
EmpID フィールドで関連付けられる、Employee と Salary の2つのテーブルがデータベースに含まれているとします。
従業員と給与を表示するリスト
Employee テーブルに、Department 全体の Salary に対する個々の Employee の Salary の割合を表示するフィールドを追加します。FileMaker Pro の計算を使用してこの値を出すことは可能ですが、ExecuteSQL 関数でダイナミックパラメータを使用してこのクエリーを指定すると、Salary に関する機密情報の未承認アクセスを避けることができます。
Employee テーブルで計算フィールドを定義し、ExecuteSQL 関数を使用して次のクエリーステートメントを指定します。
100 * Salary::Salary / ExecuteSQL ("select sum(S.salary) from Employee E join Salary S on E.EmpID = S.EmpID where E.Department = ?"; ""; ""; Department)
関連項目 
関数リファレンス(種類順)
関数リファレンス(名前順)
計算式について
関数について
計算フィールドの定義
計算式での演算子の使い方