こんにちは!
今日のテーマは、ユーザーが混乱しない検索スクリプトのキホンです。
検索スクリプトは、FileMaker Proアプリの中でも最も使用されるスクリプトではないかと思います。
データベースを運用してくると、レコードはどんどん増えていきます。
規模が大きいアプリになると、100万レコードの情報を格納することというのはよくあることです。このデータをそのまま表示することは、ユーザーが混乱してしまう原因にもなりますし、アプリとしての使い勝手は決して良くありません。
検索実行に条件を直接記載するのはあり?

条件を直接記載とは、検索実行スクリプトステップに検索条件を指定という設定があります。検索はこのように、直接指定することもできます。
動的ではない条件の場合、この方法で特に問題がないように見えますが、設定した条件を見たい場合にはわざわざこの画面を開かないと条件を確認することができません。
ユーザーから検索について問い合わせがあった場合に、これだといちいち条件を確認するのが面倒ですから、本当に単純な条件以外では、この方法を使うことはおススメできません。
では、どうすればいいのでしょうか?

このように、検索モードの切り替えのステップと、フィールド設定のステップを入れてスクリプトを組むことです。こうすることで、スクリプトワークスペースを開いただけで、条件に設定されているものを簡単に確認することができます。
条件に合うレコードがないときが煩わしい

条件に合うレコードが一つもない場合、FileMaker Proはエラーを吐き出します。これがユーザーにとっては、非常に煩わしい問題となります。
いちいちクリックしなければなりませんし、上記の画像では、3つの選択肢があります。特に左の「検索条件を変更」をクリックしてしまった場合は、スクリプトに条件を設定した意味がなくなります。
この場合は、「エラー処理オン」のステップを入れておきます。

エラー処理
このステップは、オンにすることで、FileMakerのエラーダイアログをユーザーに対して出さないようにすることができます。
検索をスクリプトで行う場合には、必須といってもいいステップで、中にはなくてもいい場合もありますが、基本的には条件反射的に入れておくことをおススメします。
エラーのダイアログがFileMakerから出なかった場合でも、表示されるレコードがありませんので、ユーザーはそれでわかるはずです。
より親切な対象レコード0

フッタ、ヘッダ、上部ナビゲーションのパートに上記のようなテキストを配置しておくとより親切です。このテキストには、「次の場合にオブジェクトを隠す」設定をしておき、
Get(対象レコード数)≠ 0
を設定しておきましょう。
これで、対象レコードがない場合に、テキストが表示され、エラーダイアログが出なくても、対象レコードがなかったことをしっかりと伝えることができます。
まとめ
検索のスクリプトは本当によく使います。このように、工夫をしていくことで、「システム」らしくなり、業務で使用する場合には、業務の効率化を推進することもできます。
ちょっとの工夫で、使いやすさは格段に変わっていきますので、ぜひ取り入れてみてください。

