【FileMaker】SQLはフィールド設定でも書ける

FileMakerでSQLを書けるのは以前の記事でも書きましたが、「ここでも書ける」というのを紹介します。

SQLはフィールド設定でも書けます。

これを使えば、リレーションシップ設定がなくてもデータを引っ張ってこれます。
(リレーションすればいいのでは?というのは今回無し、ということで)

以下、サンプルです。

○テーブル

テーブル名 概要
FMTest トランザクションデータ
SystemMaster システムデータの入ったマスタテーブル

SystemMasterにあるとあるシステム値をFMTestテーブルにグローバルに持って活用したい、という事例です。

スクリーンショット 2015-12-01 11.28.44.png

システム情報として、上記のようなマスタテーブル構成で、以下のようなデータを保持しているとします。

スクリーンショット 2015-12-01 11.28.58.png

適当な値が入っていますが、システム値ということで、例えば「出力ディレクトリフルパス値」「消費税率」のようなシステム固有で持っている共通情報という感じです。

これを、FMTestテーブルで活用したいということで、FMTestのsystem1フィールドに保持できるようにSQLを計算値に書いておきます。

スクリーンショット 2015-12-01 11.28.25.png

ここではwhere条件を引数なしでベタで書いていますが、引数も書けますので、詳しくはこちらの解説をどうぞ。

FMTestテーブルのsystem1はグローバルフィールドに設定してあるので、FMTestでsystem1が取得されていることを確認してみましょう。

スクリーンショット 2015-12-01 11.29.10.png

はい!
FMTestのsystem1に、SyStemMasterに保存されているid=1のname内容が取得できています。

いちいちリレーションするのめんどくさい(邪道!?)ときには、ExecuteSQLで持ってくるという小技もあること、ちょっと覚えていてもいいかもです。

ちなみに、SQLと聞くと、共有設定で接続しないととか考えるかもしれませんが、同一FMファイル内でしたら当たり前ですがそんな設定無しでSQLを書けます。
SQLに慣れ親しんでFMワールドに来た方、ぜひともSQLもFMで活用してください。
(私だー)