顧客情報や受注データを入力していて、「数字を入れるべきところに文字を入れてしまった」「必須項目を空欄のまま保存してしまった」という経験はないでしょうか。FileMakerでは、こうした入力ミスを人の注意力だけに頼らず、画面操作に合わせて自動でチェックさせることができます。そのカギになるのが「スクリプトトリガー」です。
この記事では、スクリプトトリガーを使って入力チェックを自動化する考え方と、基本的な設定方法を分かりやすく解説します。
スクリプトトリガーとは?
スクリプトトリガーは、「ある動きがあったときに、自動でスクリプトを実行する仕組み」のことです。たとえば次のようなタイミングで動かせます。
- フィールドからフォーカスが外れたとき(別のフィールドをクリックしたとき)
- レコードを保存するとき
- レイアウトを切り替えたとき
これらのタイミングで、あらかじめ用意した「入力チェック用スクリプト」を動かせば、ユーザーが気づかないうちにデータの確認をしてくれるようになります。
どんな入力チェックを自動化できる?
スクリプトトリガーで自動化しやすい入力チェックの例をいくつか挙げます。
- 必須項目が空欄のままになっていないかチェック
- 日付や数字など、指定した形式で入力されているかチェック
- 郵便番号や電話番号の桁数チェック
- 合計金額と明細の合計が一致しているかチェック
- 同じIDやメールアドレスが二重登録されていないかチェック
単純なチェックなら「フィールドのオプション」でも可能ですが、条件が複雑になったり、複数フィールドの内容をまとめて判断したい場合は、スクリプトとスクリプトトリガーを組み合わせる方が柔軟です。
基本の流れ:入力チェック自動化の考え方
スクリプトトリガーで入力チェックを行う際の基本的な流れは次のとおりです。
- チェック内容を決める(どのフィールドをどうチェックしたいか)
- チェック用のスクリプトを作成する
- スクリプトトリガーを設定し、どのタイミングでスクリプトを動かすか決める
- 実際の入力画面でテストし、メッセージや動きを調整する
最初から難しいことをしようとせず、「このフィールドが空なら警告を出す」といったシンプルなものから始めると理解しやすくなります。
ステップ1:チェック用スクリプトを作る
まずは、レコード保存の前に必須項目をチェックする簡単な例を見てみましょう。
- メニューから「スクリプト」→「スクリプトワークスペース」を開きます。
- 「+」ボタンで新しいスクリプトを作成し、名前を「入力チェック_顧客マスタ」など分かりやすいものにします。
- スクリプトステップで、次のような処理を組み立てます(イメージです)。
- もし「顧客名」が空なら
- カスタムダイアログで「顧客名を入力してください」と表示
- スクリプトを終了(後続の保存処理は実行しない)
- もし「電話番号」が空なら
- カスタムダイアログで「電話番号を入力してください」と表示
- スクリプトを終了
- どの条件にも当てはまらなければ、そのまま処理続行
実際には「If」「Show Custom Dialog(カスタムダイアログを表示)」「Exit Script(スクリプト終了)」などのステップを使って組み立てます。レコード保存自体は「レコードを確定」など別の処理やユーザー操作によって行われるため、エラーがあればその前にスクリプトを終了させ、保存に進ませないようにするのがポイントです。
ステップ2:スクリプトトリガーを設定する
スクリプトができたら、次は「いつこのスクリプトを動かすか」を指定します。ここでスクリプトトリガーを使います。
- 対象のレイアウトをレイアウトモードで開きます。
- メニューから「レイアウト」→「レイアウト設定」を開きます。
- 「スクリプトトリガー」タブを選択します。
- 「レコード確定前(OnRecordCommit)」など、チェックしたいタイミングのトリガーにチェックを入れ、先ほど作成したスクリプトを指定します。
こうすることで、ユーザーがレコードの編集を完了しようとしたタイミングで、自動的に入力チェックスクリプトが実行されるようになります。
フィールド単位でチェックしたい場合
「顧客名フィールドから移動したときに、その場でチェックしたい」といった場合は、フィールド単位のスクリプトトリガーを使います。
- レイアウトモードで、対象のフィールドを選択します。
- 「インスペクタ」パネルの「データ」タブを開きます。
- 下の方にある「スクリプトトリガー」の設定で、「フィールドから退出時(OnObjectExit)」などを選びます。
- そのトリガーに対して、フィールド用のチェックスクリプトを指定します。
例えば、郵便番号フィールドから移動したときに「7桁かどうか」を確認し、違っていればメッセージを出して元のフィールドに戻す、といった動きが実現できます。
自動チェックを使いこなすコツ
スクリプトトリガーを使うと便利な一方で、チェックを細かくしすぎるとユーザーが「うるさいシステムだ」と感じてしまうこともあります。次のような点を意識すると、使いやすい入力画面になります。
- 本当に重要な項目だけを厳しくチェックする
- 単純ミスは軽いメッセージにとどめ、作業を止めすぎない
- メッセージは短く、何をどう直せばよいかを明確に書く
- テストユーザーに触ってもらい、「ここはうっとうしい」と感じる部分を調整する
「エラーゼロ」を目指しすぎず、「重大なミスを防ぐ」ことを目的にすると、バランスの良い入力チェックが作りやすくなります。
まとめ
スクリプトトリガーを使えば、FileMakerの入力チェックを人任せにせず、システム側で自動的にサポートすることができます。最初は「レコード保存前に必須項目をチェックする」など、シンプルなところから始めて、慣れてきたら複数条件を組み合わせたチェックに広げていくのがおすすめです。
スクリプトとスクリプトトリガーを上手に使いこなせば、「入力しやすく、間違いにくい」データベースに一歩近づけます。ぜひ、日々の運用でよく起こる入力ミスを洗い出し、その対策をスクリプトトリガーに落とし込んでみてください。