FileMakerでの機能についていくつかご紹介します【カスタムダイアログ・オブジェクトを隠す、他】
今回は、FileMakerで開発するにあたって、よく使用する機能(スクリプトステップ)や、
設定をご紹介させて頂きます。
FileMaker開発初心者の方は、タメになる記事かと思いますので、
ぜひ最後までご熟読頂けますと幸いです。
カスタムダイアログの使用で、より動的な動きを実現
FileMakerでは、スクリプトステップで、
”カスタムダイアログ”と呼ばれるものが設定可能です。
カスタムダイアログとは、ExcelやWordなどで、作成途中のデータを保存せずに
ファイルを閉じようとした際に、「保存しますか?」と表示された覚えはございませんか?
FileMakerでは、そのカスタムダイアログを
スクリプト内に組み込むことで任意的に表示することが可能となります。
また、ダイアログを表示した際の、選択(OKやNOなど)の選択肢によって、
その後の処理を分岐することも可能です。
FileMakerでのカスタムダイアログを表示する方法
FileMakerでカスタムダイアログを実装する際には、
スクリプトステップにて処理を追加致します。
スクリプトステップの処理としては、
「カスタムダイアログの表示」を利用します。
スクリプトステップの設定方法につきましては、
以下に、画像を用意いたしました。
スクリプトステップの設定オプション > 一般 のタブにてそれぞれの項目を設定致します。
それぞれの設定に関しては、以下に記載いたします。
- タイトル
- メッセージ
- デフォルトボタン
基本的な項目は以上になります。
“タイトル”や”メッセージ”に関しては、
フィールドそのものを指定することも可能で、
計算式を設定することも可能です。
フィールドや計算式を設定した際には、
値や計算式の結果を表示する形となります。
上記の画像で設定した内容を、実際に
カスタムダイアログで表示するとどのように表示されるのかは、
以下の画像を参照してみてください。
メッセージについては、改行コードもしっかりと設定すれば、
メッセージ内で改行文を表示することもできます。
また、選択した結果によって処理を分岐する方法ですが、
カスタムダイアログにて選択結果(上記で例えると、「OK」か「キャンセル」)を
「Get(最終選択メッセージ)」にて判断することができます。
「OK」=1、「キャンセル」=2 となります。
(結果:3まで設定が可能です)
「Get(最終選択メッセージ)」をIF文内で、上手く活用することで、
よりシステムチックな動きが可能です。
「次の場合にオブジェクトに隠す」で、開発の幅が広がります。
設定した計算式を基に、オブジェクトやフィールドなど
レイアウト上から非表示にすることが可能です。
こちらは、非常によく使う機能ですので、
ぜひ覚えてください。
「次の場合にオブジェクトに隠す」とは、レイアウトモードから
インスペクタ > データタブ(右端) > 動作 の
項目内に存在します。
こちらに入力した計算式の結果が正になれば「非表示」、偽になれば「表示」されます。
例えばとあるボタンを隠したい際に、Aフィールドの値が空の場合は表示したくない、という際には、
Aフィールド = “”
というように条件式を指定すれば、
そのフィールドの値が空の際に計算結果は正なので、
設定したボタンが「非表示」となります。
FileMaker17より仕様が一部変更されております
バージョン16までは、計算式の結果が「?」
つまり、結果がエラーの場合、”偽”と判断され、「表示」となっておりました。
しかし、バージョン17からは、
「?」でエラーと評価された場合には、非表示となってしまいます。
フィールドやオカレンスを根本から削除した際には、
計算式自体エラーとなってしまいますので、
非表示となってしまいます。
表示非表示によって開発や動的の可能性が無限に広がりますので、
ぜひ覚えてください。
新規レコード作成した際のフィールド設定
レコードを新規で作成した際、フィールドに対して設定を行っておくことで、
自動で値を挿入したり、計算式を走らせた結果を表示したりすることが可能です。
自動入力ができる種類をご紹介
データの自動入力で設定できる種類は以下の通りです。
- 作成情報
- 修正情報
- 直前に参照したレコード値
- データ
- 計算値
- ルックアップ値
作成情報
新規レコードを作成した際の日付と時刻を自動設定致します。
設定する日付と時刻は、PCに設定されている日付と時刻を設定します。
データ
設定した値をデータとしてそのまま登録します。
例えば、”1”と設定した際、新規レコードを作成したタイミングで、
”1”を結果として表示します。
計算値
設定した計算式の結果を自動入力致します。
例えば、以下のようなIF文を設定した場合、
IF(〇〇 = “A” ; “B” ; “C” )
〇〇がAならB、AでなかったらCを表示する計算式ですが、
新規レコードを作成したタイミングで、上記の計算式が処理され、
結果を自動入力します。
ルックアップ値
こちらは、オカレンス先から、設定したフィールドの値を、自動入力します。
例えば、ルックアップ値を得意先名を設定した場合、
得意先のIDを入力したタイミングで得意先マスタから設定した得意先名を取得します。
まとめ
以上、FileMakerでよく使う機能のご紹介でした。
今回ご紹介した情報は基本的な部分になりますが、
知っている開発の幅が広がりますので、
ぜひ覚えてください。
弊社では、現在、
東京を中心に、大阪、愛知、福岡、鹿児島他クライアントの
システム開発を行っております。
もちろん、上記地域に限らず、様々なクライアントからの
ご連絡をお待ちしております!