FileMakerでレイアウトを開いたとき、「どのフィールドにカーソルが合うか」をきちんとコントロールできていないと、ユーザーは毎回マウスでクリックしてから入力を始めることになり、地味にストレスになります。特に、入力専用レイアウトや検索画面では、「最初に入力してほしい場所」に自動でフォーカス(カーソル)を当てておくことが大切です。
この記事では、FileMakerスクリプトを使って、レイアウト表示時の「初期フォーカス」をシンプルに設定する基本的な方法を解説します。専門用語をできるだけ避け、普段の業務でFileMakerを使っている方にもわかりやすい内容を目指します。
初期フォーカスを設定する意味とは?
初期フォーカスとは、レイアウトを開いた直後に、どのフィールドが選択された状態になるか、ということです。
例えば、請求書の入力画面を開いたときに「日付」ではなく「顧客名」から入力してほしいなら、顧客名フィールドに初期フォーカスを当てる、というイメージです。
初期フォーカスをきちんと決めておくと、次のようなメリットがあります。
- ユーザーがマウス操作を減らせるので、入力がスムーズになる
- 入力漏れや、違う場所への入力ミスを減らせる
- 「どこから入力すればよいか」が直感的にわかる
逆に、何も設定していないと、FileMakerの都合で「たまたま」選ばれたフィールドにフォーカスが当たったり、そもそもどこにもカーソルが無いように見えたりすることもあります。ユーザーにとっては、ちょっとしたストレスの積み重ねになってしまいます。
基本となるスクリプトステップ「フィールドへ移動」
初期フォーカスをコントロールするための基本は、とてもシンプルです。
スクリプトで「フィールドへ移動」ステップを使い、狙ったフィールドを指定するだけです。
やることの流れは次の通りです。
- 対象のレイアウトを表示する(または開く)
- スクリプトで「フィールドへ移動」を実行する
- そのスクリプトを「レイアウト切り替え完了時」などのトリガーに設定する
これで、レイアウトを表示したタイミングで、特定のフィールドにカーソルが自動的に移動するようになります。
初期フォーカスを設定するスクリプトの作り方
具体的な操作手順を、できるだけかんたんに整理してみます。
1. スクリプトを新規作成する
- メニューから「スクリプト」→「スクリプトワークスペース」を開きます。
- 左上の「+」ボタンで新しいスクリプトを作成します。
- わかりやすい名前を付けます(例:「初期フォーカス設定_顧客名」など)。
2. 「レイアウト切り替え」ステップ(必要な場合)
すでにレイアウトが決まっていて、そこに初期フォーカスだけ設定したい場合は、このステップは省略できます。
もし「レイアウトを開くところからスクリプトで行いたい」場合は、先頭に「レイアウト切り替え」ステップを入れておきます。
- 「レイアウト切り替え」ステップを追加します。
- オプションで目的のレイアウト(請求書入力レイアウトなど)を指定します。
3. 「フィールドへ移動」ステップでフォーカス先を指定する
- スクリプトステップ一覧から「フィールドへ移動」を追加します。
- オプションで、初期フォーカスを当てたいフィールドを選びます。
例:テーブル「顧客」の「顧客名」フィールドなど。 - 「選択」だけであれば、他のオプションはそのままで構いません。
これだけで、スクリプトを実行したタイミングで、そのフィールドにカーソルが移動するようになります。
レイアウト表示時に自動で実行する(スクリプトトリガ)
次に、「レイアウトを開いたときに、毎回自動で初期フォーカスを設定したい」という場合の設定です。ここでは、スクリプトトリガという仕組みを使います。
レイアウトにトリガを設定する手順
- レイアウトモードに切り替えます。
- メニューから「レイアウト」→「レイアウト設定」を開きます。
- 「スクリプトトリガ」タブを選びます。
- 「レイアウト切り替え完了時」または「レコード読み込み時」など、レイアウトを開いたタイミングで動くトリガを選びます。
- 先ほど作成した「初期フォーカス設定」のスクリプトを割り当てます。
- OKをクリックして設定を保存します。
これで、そのレイアウトに切り替わったタイミングで、自動的にフォーカスが設定されるようになります。
入力シーンごとに初期フォーカスを工夫する
実務では、「どのフィールドに初期フォーカスを当てるか」を場面ごとに考えると、使いやすさが大きく変わります。
- 新規レコード作成画面:最初に入力してほしい必須項目(顧客名、商品名など)にフォーカスを当てる
- 検索専用レイアウト:メインの検索条件になるフィールドにフォーカスを当てる
- 一覧から詳細へ移動した画面:すぐに修正が入りやすいフィールド(ステータスなど)にフォーカスを当てる
また、「新規レコードのとき」と「既存レコードを開いたとき」でフォーカス先を変える、という工夫も可能です。この場合は、スクリプトの中で「もし新規レコードならAフィールド、そうでなければBフィールド」という条件分岐を使います。
初期フォーカス設定で気をつけたいポイント
最後に、初期フォーカスを設定する際に、よくある注意点を挙げておきます。
- フォーカスを当てたいフィールドが、そのレイアウト上に配置されていることを確認する
- ポップオーバーやタブの中にあるフィールドへ移動する場合、さらに一工夫が必要になることがある
- 複数のスクリプトトリガが重なっていると、別のスクリプトでフォーカスが上書きされてしまうことがある
- ユーザーが毎回同じ操作をしている場合、その最初の動作をフォーカス設定で省略できないか考えてみる
難しいテクニックを使わなくても、「レイアウトを開く→フィールドへ移動」というだけで、入力のしやすさはかなり改善されます。まずは、よく使うレイアウトから一つずつ初期フォーカスを整えてみると、ユーザーからの評価も変わってくるはずです。