一意のインデックスを作成することで、Access テーブルのフィールド内の値の重複を防ぐことができます。 一意インデックスは、インデックス付きフィールドの各値が一意である必要があるインデックスです。
一意のインデックスを作成する基本的な方法は 2 つあります。
-
フィールドの [インデックス付き] プロパティを [はい] に設定します (重複なし) これを行うには、 デザイン ビューでテーブルを開きます。 この方法は簡単で、一度に 1 つのフィールドのみを変更する場合に適しています。
-
一意のインデックスを作成する データ定義クエリ を作成する これを行うには、 SQL ビューを使用します。 このメソッドはデザイン ビューを使用するほど簡単ではありませんが、データ定義クエリを保存して後でもう一度使用できるという利点があります。 これは、テーブルを定期的に削除して再作成し、一部のフィールドで一意のインデックスを使用する場合に便利です。
目的に合ったトピックをクリックしてください
フィールドの Indexed プロパティを [はい] に設定します (重複なし)
-
ナビゲーション ウィンドウで、フィールドを含むテーブルを右クリックし、[ デザイン ビュー] をクリックします。
-
一意の値を持っていることを確認するフィールドを選択します。
-
テーブル デザイン ビューの下部にある [フィールド プロパティ] ウィンドウの [ 全般 ] タブで、[ インデックス付き ] プロパティを [はい (重複なし)] に設定します。
-
変更をテーブルに保存します。
注: テーブル レコードのフィールドに重複が既に存在する場合、新しいインデックスでテーブルの変更を保存しようとすると、エラー メッセージ (エラー 3022) が表示されます。 新しい一意のインデックスを設定して保存する前に、これらの重複するフィールド値をテーブル レコードから削除する必要があります。
データ定義クエリを使用してフィールドの一意のインデックスを作成する
-
[作成] タブの [クエリ] グループで [クエリ デザイン] をクリックします。
-
クエリの [ デザイン ] タブの [ 結果 ] グループで、[ 表示] の下にある矢印をクリックし、[ SQL ビュー] をクリックします。
-
クエリから既存のすべての SQL を削除します。 (ほとんどの場合、既存のテキストを削除する前に SELECT が表示されます)。
-
次の SQL を入力するか、クエリに貼り付けます。
CREATE UNIQUE INDEX index_name
ON table (field); -
SQL で、変数を次のように置き換えます。
-
index_nameをインデックスの名前に置き換えます。 インデックスの内容を判断するのに役立つ名前を使用することをお勧めします。 たとえば、インデックスが電話番号が一意であることを確認する場合は、unique_phoneという名前を付ける場合があります。
-
table を、インデックスを作成するフィールドを含むテーブルの名前に置き換えます。 テーブル名にスペースまたは特殊文字がある場合は、名前を角かっこで囲む必要があります。
-
フィールドを、インデックスを作成するフィールドの名前に置き換えます。 フィールド名にスペースまたは特殊文字がある場合は、名前を角かっこで囲む必要があります。
-
-
クエリを保存して閉じます。
-
クエリを実行してインデックスを作成します。 RunSQL マクロ アクションを使用して、マクロからクエリを実行できることに注意してください。