0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FileMakerAdvent Calendar 2015

Day 2

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

Posted at

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で活用してください。
(私だー)

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?