FileMakerで顧客番号や商品コードなどを管理していると、「うっかり同じ番号を2回入力してしまった」という重複トラブルが意外と多く起こります。あとから見つかると修正も大変で、集計や検索の結果が信用できなくなってしまいます。
この記事では、FileMakerに標準で用意されている「フィールドの検証」と「ユニーク値」の設定を使って、重複データを防ぐための基本的な考え方と、具体的な操作方法を分かりやすく解説します。
重複防止の基本は「どのフィールドを一意にするか」決めること
まず最初に大事なのは、「どの項目が重複してはいけないか」をはっきりさせることです。
- 顧客管理なら……「顧客ID」や「会員番号」
- 商品管理なら……「商品コード」や「バーコード」
- 案件管理なら……「案件番号」や「見積番号」
こういった「1レコードに1つだけ」「同じ値は2つあってはいけない」項目を、FileMakerでは「ユニーク(唯一)」な値として扱います。まずは対象となるフィールドを1つずつ洗い出し、「ここだけは絶対に重複させない」というルールを決めておきましょう。
フィールド定義画面から検証設定を開く手順
ユニーク値を設定する操作は、フィールド定義画面から行います。代表的な手順は次の通りです。
- FileMakerで対象のファイルを開く
- メニューの「ファイル」→「管理」→「データベース…」を開く
- 「フィールド」タブで、重複を防ぎたいテーブルを選ぶ
- 対象のフィールド(例:顧客ID)を選択して「オプション…」ボタンをクリック
- 「フィールドオプション」ダイアログの「検証」タブを開く
この「検証」タブで、ユニーク値の設定や必須入力のチェックなどをまとめて設定できます。
ユニーク値の設定で重複登録をブロックする
実際に重複を防ぐためのポイントは、「値がユニーク」を指定することです。
- 「フィールドオプション」の「検証」タブを開く
- 「フィールドの検証」の中にある「値がユニーク」をチェックする
- 必要に応じて「常に検証」または「レコードの保存時のみ」を選択する
- OKを押してダイアログを閉じる
これで、そのフィールドに既に存在する値と同じ値を入力して保存しようとすると、FileMakerが自動的にエラーを出してくれます。
例えば、顧客IDに「C0001」が登録済みなのに、別のレコードでも「C0001」を入力して保存しようとすると、「このフィールドは一意である必要があります」といった警告メッセージが表示され、重複したまま保存されるのを防げます。
必須入力(空白禁止)の設定も一緒にしておく
ユニーク値にするフィールドは、同時に「空白は禁止」にしておくとより安全です。ユニーク値にしていても、空欄は「どのレコードも空欄」の状態で問題なく通ってしまいます。そのため、IDを必ず入力してもらうために、空白を認めない設定もするのが一般的です。
- 同じく「フィールドオプション」→「検証」タブを開く
- 「空白を許可しない」をチェックする
- 「値がユニーク」と「空白を許可しない」が両方チェックされていることを確認する
この設定により、「何も入力せずに保存する」ことも、「既に存在する値を入力して保存する」ことも、どちらもできなくなり、IDの管理が安定します。
エラーメッセージをユーザー向けに分かりやすくする
標準のエラーメッセージは少し分かりづらいことがあります。そこで、「カスタムメッセージ」を使って、ユーザーにとって理解しやすい表現に変えておくと運用しやすくなります。
- 「フィールドオプション」→「検証」タブを開く
- 下部にある「カスタム メッセージを表示」をチェックする
- メッセージ欄に、わかりやすい説明文を入力する
(例)「この顧客IDはすでに登録されています。別のIDを入力してください。」
こうしておくと、入力ミスをしたユーザーがすぐに原因を理解できるので、「なぜ保存できないのか分からない」というストレスを減らせます。
自動採番とユニーク値を組み合わせるとより安心
顧客IDや案件番号を、人が手入力で管理するのは負担も大きく、ミスの元にもなります。FileMakerでは「シリアル番号」や「UUID」などで自動採番ができるので、「自動採番+ユニーク値」で組み合わせておくと、ほぼ完全に重複を防げます。
- フィールドの「自動入力」タブで「シリアル番号」または「計算値(Get ( UUID ) など)」を設定
- 「検証」タブで「値がユニーク」「空白を許可しない」を設定
自動採番しても、何らかの理由で重複が起こる可能性はゼロではありませんが、検証によるチェックが最後の砦になってくれます。
テスト用のレイアウトで必ず動作確認をする
検証の設定を変更したら、いきなり本番運用に使うのではなく、「テスト用レイアウト」や「コピーしたテストファイル」で動作確認することをおすすめします。
- 新規レコードを作成し、わざと同じIDを2回入力してみる
- 空欄のまま保存しようとしてみる
- 既存のデータに問題が出ないか(古い重複データがある場合など)を確認する
特に、すでに重複しているデータが存在する状態でユニーク値を設定すると、「既存のレコードを編集して保存するとき」にエラーが出ることがあります。過去データの整理も含めて、現状を確認しながら慎重に設定を進めてください。
まとめ:フィールド検証で「ミスの起こりにくいデータベース」に
FileMakerの「フィールド検証」と「ユニーク値」の設定を使うことで、
- 顧客IDや商品コードなどの重複を未然に防ぐ
- 必須項目の入力漏れをなくす
- ユーザーに分かりやすいエラーメッセージを出す
といった「ミスの起こりにくいデータベース」を作ることができます。難しいスクリプトを書かなくても、基本的な設定だけでかなりのトラブルを防げますので、まずは重要なフィールドから順番に、検証とユニーク値の設定を見直してみてください。