第116回 検索窓を設置する

こんにちは。エヌ・ケイ・カスタマイズの大村です。

先月、コロナに感染してしまいました…。第7波の真っ最中に夫婦そろって感染しまして、そろって自宅待機でした。幸い、軽症の部類でしたが、途中、嗅覚が全くなくなったりと不思議な体験をいたしました。咳が続いたりして辛かったりしましたが、おかげさまで10日間の待機期間を経て、後遺症もなく復帰いたしました。現在、感染者数は減少傾向にあるようですが、皆様もお気をつけください。ワクチンを打っておきましょう!


以下の記事は、Claris FileMaker 関数・スクリプトガイド(バージョン 19 対応)より、
「29.検索窓を設置する(848ページ)」を元に掲載しています。

この文献から、スクリプトトリガの活用に合わせて、クイック検索について学習することができました。文献の執筆者、関係者の方々に深謝いたします。

なお、このブログ記事の趣旨は、弊社所属スタッフの Claris FileMaker 学習の成果を公開することを目的とし、同時に、参考文献の内容の紹介に資するものであることを Claris International Inc. が確認しています。

Claris FileMaker 公式トレーニング教材



さて今回は、スクリプトとトリガを使って、クイック検索機能を再現します。
クイック検索機能は、 Claris FileMaker の標準機能ですが、スクリプトでも実行できます。
検索窓用のグローバルフィールドを用意して、そこに検索ワードを入力して、クイック検索を実行します。

クイック検索、便利ですよね。昔は無かった機能です。
https://help.claris.com/ja/pro-help/content/performing-a-quick-find.html

考え方

  • 検索キーワードを入力するグローバルタイプのフィールドをヘッダに配置します。
  • Tab、Return、Enter キーで次のオブジェクトへ移動するように設定します。
  • OnObjectSave スクリプトトリガのタイミングでスクリプトが実行されるようにします。

関数・スクリプト実装例

  1. 下記のようにレイアウトのヘッダ部にグローバルタイプのフィールドを配置します。
ヘッダに配置


次に、インスペクタの [データ] タブの [動作] で [次のオブジェクトへの移動に使用するキー] を設定し、Tab、Return、Enter キーを使って次のオブジェクトへ移動するようにします。

次のオブジェクトへの移動に使用するキー


  1. 次のようなスクリプトを作成します。
スクリプトステップ

ここで、[現在のスクリプト終了] スクリプトステップのオプションに「0」を指定するのがポイントです。これで、次のオブジェクトへ移動することをキャンセルしています。
タブ順の制御に利用できそうですね。

補足として、[フィールドへ移動]の際のオプションで、「選択/実行」のチェックは外してあります。


  1. 作成したスクリプトを、OnObjectSave スクリプトトリガでヘッダ部のフィールドに設定します。これにより、Enter、Return キーを押すことでヘッダに配置したフィールド内容が保存され、次のオブジェクトへ移動する前にこのスクリプトが実行されます。


実行例

  1. “東京” と入れて Enter キーを押すとカーソルが ”東京” の後ろにある状態で下図のようになります。
クイック検索実行後


  1. スペースを入れて ”男” と入力し、Enter キーを押してください。更に検索結果が絞り込まれました。

    もう一度 Enter キーを押すと ”NO” にカーソルが移動します。これはヘッダのフィールドが変更されなかったので、OnObjectSave スクリプトトリガの条件を満たさなかったからです。

絞り込み検索


まとめ

いかがでしょうか? クイック検索機能は便利ですよね。クイック検索機能が実装される以前は、検索キーワードを集めたフィールドを用意して、そこを検索させたり、[新規検索条件]スクリプトステップなど駆使したりして、検索用のスクリプトを作ったりしておりました。

ただ、クイック検索機能も、検索対象をしっかり指定、把握しておかないと、関連レコードまで検索対象になってしまい、大変なことにもなりかねません。その点は注意して利用しましょう。

詳しくは、Claris社ホームページのClarisClaris FileMakerPro19ヘルプに詳細情報がありますので、こちらもご覧ください。

それでは、次回のブログもお楽しみに!!

参考文献: Claris FileMaker 公式トレーニング教材 から、「Claris FileMaker 関数・スクリプトガイド」 等を参考にしています
https://content.claris.com/fmb19_reg-ja