FileMakerでレイアウトを作っていると、「このボタンは特定の人にだけ見せたい」「チェックが入ったときだけこのフィールドを表示したい」といった場面がよくあります。ところが、実際にやろうとすると、スクリプトでごまかしたり、レイアウトを複製して対応したりと、だんだん管理が大変になってしまいます。
そんなときに覚えておきたいのが「オブジェクトを隠す条件」です。これは、特定の条件を満たしたときだけ、ボタンやフィールドなどのオブジェクトを画面からスッと消してくれる機能です。うまく使えば、見た目もスッキリ、操作もわかりやすいレイアウトを作ることができます。
この記事では、FileMakerの「オブジェクトを隠す条件」を使って表示をコントロールする基本的な考え方と、実際の設定方法をわかりやすく解説します。
オブジェクトを隠す条件とは?基本の考え方
「オブジェクトを隠す条件」は、文字どおり「この条件のときは、このオブジェクトを隠す」というルールを設定する機能です。
重要なポイントは、「表示する条件」ではなく「隠す条件」を指定するという点です。
例えば、
- 「管理者以外にはこのボタンを見せたくない」
→「管理者でないときに隠す」という条件を書く - 「チェックが入っているときだけコメント欄を見せたい」
→「チェックが入っていないときに隠す」という条件を書く
このように、「隠す側から考える」と覚えておくと理解しやすくなります。
オブジェクトを隠す条件の設定手順
FileMakerでオブジェクトを隠す条件を設定する手順は、とてもシンプルです。
- レイアウトモードに切り替える
- 隠したい対象(フィールド、ボタン、テキストなど)をクリックして選択
- インスペクタを開く(表示 > インスペクタ)
- 「データ」タブを選ぶ
- 「オブジェクトを隠す条件」に式を入力する
この「オブジェクトを隠す条件」に、計算式として隠す条件を書きます。
条件の結果が「真(True)」になったとき、そのオブジェクトは画面から隠れます。
よく使う基本パターン:チェックボックスで表示切り替え
一番わかりやすい例として、「チェックが付いたら説明欄を表示する」ケースを考えてみます。
例えば、
- フィールド
フラグ_詳細表示:チェックボックス(オンで「1」) - フィールド
詳細説明:チェックが付いているときだけ表示したい
という構成だとします。このとき、詳細説明フィールドの「オブジェクトを隠す条件」に次のように入力します。
IsEmpty ( フラグ_詳細表示 )
この意味は、「フラグ_詳細表示が空(=チェックなし)のときに隠す」です。
結果として、
- チェックなし(空) → 条件が「真」 →
詳細説明を隠す - チェックあり(1などが入る) → 条件が「偽」 →
詳細説明を表示
という動きになります。
権限でボタンを隠す:アカウント名を使う方法
次に、「ログインしているユーザーに応じてボタンを隠したい」場合です。
例えば、
- アカウント名「admin」の人だけ「削除」ボタンを見せたい
というとき、削除ボタンの「オブジェクトを隠す条件」に次のように設定します。
Get ( アカウント名 ) <> "admin"
この式は「今ログインしているアカウント名が admin ではないときに隠す」という意味です。
その結果、
- アカウントが「admin」 → 条件は偽 → 削除ボタンが表示される
- それ以外のアカウント → 条件は真 → 削除ボタンが隠れる
となり、「adminだけこのボタンが見える」という動作を実現できます。
レコードの状態で表示を切り替える:新規レコード時だけ隠すなど
レコードが「新規」なのか「既存」なのかで、ボタンや案内文を出し分けたいこともよくあります。
FileMakerには、その判定に使える IsEmpty などの関数があります。
例えば、「新規レコードのときは『削除』ボタンを隠したい」場合、レコードIDフィールド id を使って次のように書けます。
IsEmpty ( id )
この式は、「レコードIDが空(まだ採番されていない=新規)のときに隠す」という意味です。
新規レコードではidが空なので削除ボタンは隠れ、既存レコードではidに値が入るので削除ボタンが表示されます。
隠す条件を使うときの注意ポイント
便利な「オブジェクトを隠す条件」ですが、いくつか注意したい点もあります。
- 隠れているオブジェクトはクリックもできない
見えないだけでなく、タブ移動やクリックもできません。「押せるけど見えないボタン」は作れない仕様です。 - 条件が複雑になりすぎないようにする
あれもこれも1つの式に詰め込みすぎると、後で見直すのが大変になります。行を分けて書いたり、コメントを付けたりして整理しましょう。 - 権限の制限にはアカウント権限セットも併用する
「見えなければ押せないから大丈夫」と考えがちですが、真のセキュリティはアカウントの権限設定(アクセス権セット)で担保するのが基本です。オブジェクトを隠す条件は「見た目上の制御」として使いましょう。
まとめ:まずは「隠す側から考える」ことに慣れよう
FileMakerの「オブジェクトを隠す条件」は、レイアウトをスッキリ分かりやすくするための強力な機能です。ポイントは、
- 「表示条件」ではなく「隠す条件」を書く
- フィールド値・アカウント名・レコード状態などをうまく組み合わせる
- セキュリティそのものではなく、「見せ方の工夫」として使う
というところです。まずは、チェックボックスによる表示切り替えや、管理者だけにボタンを見せるといったシンプルな場面から試してみると、感覚をつかみやすいでしょう。慣れてくると、「この情報は今は隠したほうが親切かもしれない」といった視点でレイアウトを設計できるようになり、使いやすいシステムに一歩近づきます。