自己連結リレーションシップを使用した重複する値の検索
ここで説明する手順は、「余分な」重複レコードを検索するものです。メインレコードを決定する検索条件を指定します。
この手順では、自己連結リレーションシップ、およびそのリレーションシップを参照する計算フィールドを使用して、重複しているレコードを決定します。
最初のレコード以外の重複したレコードを検索するには、次の操作を行います。
1.
詳細については、ファイルの保存とコピーを参照してください。
2.
たとえば、「連絡先」データベースでは、同じ姓の人が複数存在する可能性があるため、「姓」フィールドでレコードの固有性を判断することはできません。社会保険番号や電話番号などの方が適切です。この場合は、結果をテキストで返す計算フィールドを作成し、そこで複数のフィールドのデータを結合して、レコードの固有性を判断する識別子を作成することもできます。たとえば、「姓 & 名 & 電話番号」のような計算式を作成することができます。
3.
選択した識別用のフィールドを、リレーションシップの両方のテーブルの照合フィールドとして使用します。詳細については、自己連結リレーションシップについてを参照してください。
「主」レコードとは、このリレーションシップに定義されたソート順に従って、最初に一致するレコードです。
4.
 •
「カウンタ」フィールド。 このフィールドはテキストフィールドで、シリアル番号が自動入力されます([シリアル番号] を選択して、[次の値:] と [増分:] のデフォルト値をそのまま使用します)。
 •
If (カウンタ = テーブル1::カウンタ; "固有" ; "重複")
5.
ステータスツールバーの [すべてを表示] をクリックします。
6.
新しい「カウンタ」フィールドをクリックします。 続いて、[レコード] メニューから [フィールド内容の全置換...] を選択し、[シリアル番号で置き換える:] を選択します。ここでもデフォルト値をそのまま使用します。[入力オプションのシリアル番号設定に反映させる] を選択し、[置換] をクリックします。
これによって、データベース内の既存のレコードすべてにシリアル番号が割り当てられます。新しいレコードには、シリアル番号は自動的に入力されます。
7.
「重複チェック」フィールドで「重複」の検索を実行します。
重複するレコード列の最初のレコードの「重複チェック」フィールドには、「固有」という値が返され、同じレコード列のその他の重複するレコードすべてには、「重複」が返されます。
重要  照合フィールドに値が入っていないレコードは、重複データとしてフラグが立てられます。一度このように設定しておくと、FileMaker Pro によって、レコード作成時に自動的に重複レコードが識別されます。