検索件数を「バッジ」で見せると、画面がぐっと分かりやすくなる
FileMakerで検索結果の件数を確認したいとき、ステータスツールバーに表示されるレコード数を目で追っていませんか?
「このレイアウトには今、何件ヒットしているのか」「フィルタを変えたら何件になるのか」を、パッと見て理解できると、操作性が大きく変わります。
そこで便利なのが、Get(FoundCount) 関数を使って、検索件数を「バッジ」のように画面に表示する方法です。
ショッピングサイトやアプリの通知マークのように、小さな数字のバッジをつけておくと、ユーザーは一目で状況を把握できます。
この記事では、専門用語をできるだけ避けながら、FileMakerで検索件数をバッジ表示するための考え方と、具体的な作り方を解説します。
Get(FoundCount)とは?まずは仕組みをシンプルに理解する
Get(FoundCount) は、「いま見つかっているレコードが何件あるか」を返す関数です。
検索(検索モードで絞り込み)や、スクリプトによる抽出を行った後の見つかったセットの件数を、常に自動で教えてくれます。
具体的には、次のような時に使えます。
- 「受注一覧」画面で、現在の表示件数を数字で出したい
- タブパネルに「絞り込み(○件)」とバッジ表示したい
- ボタンに「検索結果:○○件」と表示しておきたい
数字自体は Get(FoundCount) からそのまま取得できますので、あとはどこに、どう見せるかを工夫するだけで、バッジ表示が簡単に実現できます。
最も手軽な方法:レイアウト上に Get(FoundCount) を表示する
まずは、一番シンプルな「表示だけバッジ風」の方法から始めましょう。
- レイアウトモードに切り替えます。
- 表示したい場所(例えばヘッダー部)にテキストオブジェクトを配置します。
- テキストの内容に次のように入力します。
検索結果: << Get ( FoundCount ) >> 件 - フォントサイズや色を整えて保存します。
これだけで、通常のブラウズモードに戻ると、
「検索結果: 15 件」 のように、現在の検索件数が表示されるようになります。
複雑なスクリプトは不要で、単純な計算結果としてレイアウトに埋め込むだけです。
「バッジ風」に見せるデザインのコツ
単なる数字の表示から、一歩進めて「バッジっぽく」見せるためのポイントをご紹介します。
- 背景色をつける
テキストの背景に、赤や青などの塗りつぶし色をつけて、文字色を白にすると、通知バッジ風になります。 - 角を丸くする
オブジェクトの角丸設定をオンにして、丸みを最大にすると、円形やカプセル型のバッジになります。 - サイズを小さめ・太字
数字はやや小さめでも太字にすると、ボタンの端についた小さなバッジのような印象になります。
例えば、「未処理 〇件」というボタンの右上に、小さい丸いオブジェクトの中に Get(FoundCount) を入れておくだけで、直感的に理解できるUIになります。
条件に応じてバッジを出し分けるアイデア
Get(FoundCount) の値が 0 件のときまで、バッジを出す必要がない場面もあります。
例えば「未処理の申請」タブで、何もなければバッジを消したい、といったケースです。
その場合は、バッジとして表示するオブジェクトを条件付きで隠すように設定します。
- レイアウトモードで、バッジ用のオブジェクト(テキストやボタン)を選択します。
- 「データ」パネルから「オブジェクトの隠蔽条件」を設定します。
- 隠す条件に、次のような計算式を入力します。
Get ( FoundCount ) = 0
これで、検索件数が 0 件のときはバッジが非表示になり、1件以上あるときだけ表示されるようになります。
ユーザーにとっては「あるときだけ光るランプ」のような感覚で、注意すべき状況が分かりやすくなります。
スクリプトからバッジを更新するパターン
もう少し踏み込んだ活用として、スクリプトで検索やフィルタを実行したあと、その結果件数をバッジに反映するパターンがあります。
基本の流れは以下のとおりです。
- スクリプトでレコード検索や抽出を行う。
- 検索が終わったタイミングで Get(FoundCount) を取得する。
- その値をグローバルフィールドやグローバル変数に格納する。
- レイアウト上では、そのグローバルフィールド(または変数)を表示する。
例えば、こんなイメージのスクリプトになります。
// 検索実行
Enter Find Mode [ Pause: Off ]
Set Field [ 顧客::顧客区分 ; "A" ]
Perform Find
// 件数を取得してグローバル変数へ
Set Variable [ $$foundCountCustomerA ; Value: Get ( FoundCount ) ]
レイアウト上のバッジには、$$foundCountCustomerA フィールドを配置するか、
テキストオブジェクト内に << $$foundCountCustomerA >> と入力しておけば、
スクリプト実行のたびにバッジの数が自動的に更新されます。
タブごとにバッジで件数を見せる応用例
少し応用として、タブパネルを使って「ステータスごとの件数」をバッジにする案もあります。
- タブ1:未処理(<< $$countPending >>)
- タブ2:処理中(<< $$countProcessing >>)
- タブ3:完了(<< $$countDone >>)
各ステータスごとにスクリプトで件数を集計し、その結果をグローバル変数に入れておけば、
ユーザーはタブのタイトルを見るだけで、「どこに対応が集中しているか」「どこが0件か」をひと目で判断できます。
Get(FoundCount)バッジ表示のメリットまとめ
Get(FoundCount) を使ったバッジ表示には、次のようなメリットがあります。
- 現在の検索状態が一目で分かる
- 「何件あるか」が直感的に把握でき、操作ミスが減る
- ボタンやタブと組み合わせることで、画面の案内役として機能する
- レイアウトの工夫だけで始められ、スクリプトも最小限で済む
難しい計算や高度なテクニックがなくても、Get(FoundCount)とちょっとしたデザインの工夫で、ユーザーにとって分かりやすい画面が作れます。
まずはシンプルな「検索結果:<< Get ( FoundCount ) >>件」から試してみて、慣れてきたらタブやボタンへのバッジ表示にも広げていくとよいでしょう。