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