Access で AutoNumber フィールド値をリセットする方法

元の KB 番号: 812718

概要

この記事では、Access で AutoNumber フィールド値をリセットする方法について説明します。 Access の AutoNumber フィールド値は、テーブル内の一部の行またはすべての行を削除しても自動的にリセットされません。 AutoNumber フィールドの値をリセットし、参照先テーブルの AutoNumber 値を更新するには、いくつかのタスクを手動で実行する必要があります。

注:

次の手順を実行する前に、データベースをバックアップする必要があります。

1 つのテーブルの AutoNumber フィールドをリセットする

テーブルに他のテーブルとのリレーションシップがない場合は、メソッド 1 またはメソッド 2 を使用して AutoNumber フィールド値をリセットします。

方法 1: Make-Table クエリを使用して新しいテーブルにデータを移動する

AutoNumber フィールドの値をリセットするには、Make-Table クエリを使用して、同じデータを持つ新しいテーブルを作成し、新しい AutoNumber フィールドを追加します。

Access 2003 以前のバージョン

Access 2003 または以前のバージョンでこれを行うには、次の手順に従います。

  1. メイン テーブルから AutoNumber フィールドを削除し、AutoNumber フィールド名をメモします。
  2. 左側のウィンドウで [ クエリ ] をクリックし、右側のウィンドウ の [デザイン ビュー] で [クエリの作成 ] をダブルクリックします。
  3. [テーブルの表示] ダイアログ ボックスで、メイン テーブルを選択し、[追加] をクリックし、[閉じる] をクリックします。
  4. メイン テーブルのテーブル ビューで必要なフィールドをダブルクリックして、フィールドを選択します。
  5. 必要な 並べ替え 順序を選択します。
  6. [ クエリ ] メニューの [ テーブル作成クエリ] をクリックし、[テーブル名] テキスト ボックスに新しいテーブル を入力し、[OK] をクリック します
  7. [ クエリ ] メニューの [ 実行] をクリックします。
  8. "# 行を新しいテーブルに貼り付ける" というメッセージが表示されたら、[ はい ] をクリックして行を挿入します。
  9. [ ファイル ] メニューの [ 閉じる] をクリックし、[ いいえ ] をクリックして [ テーブル作成クエリ ] ウィンドウを閉じます。
  10. 左側のウィンドウで [ テーブル ] をクリックし、新しいテーブルを右クリックし、[ デザイン ビュー] をクリックします。
  11. テーブルの デザイン ビューで、手順 1 で削除したのと同じフィールド名を持つ AutoNumber フィールドを追加し、この AutoNumber フィールドを新しいテーブルに追加して、テーブルを保存します。
  12. [デザイン ビュー] ウィンドウを閉じます。
  13. メイン テーブルの名前を変更し、新しいテーブルの名前を メイン テーブル名と一致するように変更します。

Access 2007 以降のバージョン

Microsoft Office Access 2007 以降のバージョンでこれを行うには、次の手順に従います。

  1. メイン テーブルから AutoNumber フィールドを削除し、AutoNumber フィールド名をメモします。
  2. [作成] タブをクリックし、[その他] グループの [クエリ デザイン] をクリックします。
  3. [テーブルの表示] ダイアログ ボックスで、メイン テーブルを選択します。 [追加] をクリックして、[閉じる] をクリックします。
  4. メイン テーブルのテーブル ビューで必要なフィールドをダブルクリックして、フィールドを選択します。
  5. 必要な 並べ替え 順序を選択します。
  6. [デザイン] タブの [クエリの種類] グループで [テーブルの作成] をクリックします。
  7. [テーブル名] ボックスに新しい テーブル名を 入力し、[ OK] をクリックします。
  8. [デザイン] タブの [結果] グループで [実行] をクリックします。
  9. "# 行を新しいテーブルに貼り付ける" というメッセージが表示されたら、[ はい ] をクリックして行を挿入します。
  10. クエリを閉じます。
  11. 新しいテーブルを右クリックし、[ デザイン ビュー] をクリックします。
  12. テーブルのデザイン ビューで、手順 1 で削除したのと同じフィールド名を持つ AutoNumber フィールドを追加します。 この AutoNumber フィールドを新しいテーブルに追加し、テーブルを保存します。
  13. [デザイン ビュー] ウィンドウを閉じます。
  14. メイン テーブルの名前を変更し、新しいテーブルの名前を メイン テーブル名と一致するように変更します。

方法 2: 新しいテーブルを作成し、追加クエリを使用してデータを移動する

既存のテーブルの構造を新しいテーブルとしてコピーできます。 その後、新しいテーブルにデータを追加し、新しい AutoNumber フィールドを追加できます。

Access 2003 以前のバージョン

Microsoft Office Access 2003 以前のバージョンでこれを行うには、次の手順に従います。

  1. メイン テーブルから AutoNumber フィールドを削除します。

    AutoNumber フィールド名を書き留めます。

  2. メイン テーブルの構造をコピーし、新しいテーブルを作成します。

  3. 左側のウィンドウで [ クエリ ] をクリックします。 右側 のウィンドウの [デザイン ビュー] で [クエリの作成 ] をクリックします。

  4. [テーブルの表示] ダイアログ ボックスで、メイン テーブルを選択します。 [ 追加] をクリックし、[ 閉じる] をクリックします。

  5. フィールドを選択するには、必要なフィールドをダブルクリックします。 この操作は、メイン テーブルの [テーブル] ビューの [オートナンバー] フィールドを除くすべてのフィールドに対して行います。

  6. [ クエリ ] メニューの [ クエリの追加] をクリックします。

    注:

    これにより、クエリの種類が変更されます。

  7. [ テーブル名] の一覧から、手順 2 で作成した新しいテーブルを選択します。 [OK] をクリックします。

  8. [ クエリ ] メニューの [ 実行] をクリックします。

  9. "# 行を新しいテーブルに貼り付ける" というメッセージが表示されたら、[ はい ] をクリックして行を挿入します。

  10. [ ファイル ] メニューの [ 閉じる] をクリックします。 [ いいえ ] をクリックして [AppendQuery ] ウィンドウを閉じます。

  11. 左側のウィンドウで [ テーブル ] をクリックします。 新しいテーブルを右クリックし、[ デザイン ビュー] をクリックします。

  12. テーブルの デザイン ビューで、手順 1 で削除したのと同じフィールド名の AutoNumber フィールドを追加します。 この AutoNumber フィールドを新しいテーブルに追加し、テーブルを保存します。

  13. [デザイン ビュー] ウィンドウを閉じます。

  14. メイン テーブルの名前を変更し、新しいテーブルの名前を メイン テーブル名と一致するように変更します。

Access 2007 以降のバージョン

Microsoft Office Access 2007 以降のバージョンでこれを行うには、次の手順に従います。

  1. メイン テーブルから AutoNumber フィールドを削除します。

    AutoNumber フィールド名を書き留めます。

  2. メイン テーブルの構造をコピーし、新しいテーブルを作成します。

  3. [作成] タブをクリックし、[その他] グループの [クエリ デザイン] をクリックします。

  4. [テーブルの表示] ダイアログ ボックスで、メイン テーブルを選択します。 [追加] をクリックして、[閉じる] をクリックします。

  5. フィールドを選択するには、必要なフィールドをダブルクリックします。 この操作は、メイン テーブルの [テーブル] ビューの [オートナンバー] フィールドを除くすべてのフィールドに対して行います。

  6. [デザイン] タブの [クエリの種類] グループで [追加] をクリックします。

    注:

    これにより、クエリの種類が変更されます。

  7. [ テーブル名 ] リストで、手順 2 で作成した新しいテーブルを選択し、[OK] をクリック します

  8. [デザイン] タブの [結果] グループで [実行] をクリックします。

  9. "# 行を新しいテーブルに貼り付ける" というメッセージが表示されたら、[ はい ] をクリックして行を挿入します。

  10. クエリを閉じます。

  11. 新しいテーブルを右クリックし、[ デザイン ビュー] をクリックします。

  12. テーブルのデザイン ビューで、手順 1 で削除したのと同じフィールド名を持つ AutoNumber フィールドを追加します。 この AutoNumber フィールドを新しいテーブルに追加し、テーブルを保存します。

  13. [デザイン ビュー] ウィンドウを閉じます。

  14. メイン テーブルの名前を変更し、新しいテーブルの名前を メイン テーブル名と一致するように変更します。

参照テーブルがあるテーブルの AutoNumber フィールドをリセットする

参照テーブルを持つテーブルには、1 つ以上のテーブルとのリレーションシップがあります。 次の手順では、1 つの参照テーブルを持つテーブルの AutoNumber フィールドをリセットする方法について説明します。 参照テーブルが複数ある場合は、参照先テーブルごとに次の手順に従う必要があります。

  1. テーブル間のリレーションシップを削除します。

  2. メイン テーブルの AutoNumber フィールドを数値データ型に設定し、主キーを削除します。

  3. メイン テーブルに AutoNumber データ型の新しいフィールドを作成し、テーブルを保存します。

  4. 参照先のテーブルに Number データ型の新しいフィールドを作成し、テーブルを保存します。

  5. 参照先テーブルの新しいフィールドをメインテーブルの新しい AutoNumber フィールドに更新する更新クエリを作成するには、次の手順に従います。

    Access 2003 以前のバージョン

    1. 左側のウィンドウで [ クエリ ] をクリックし、右側のウィンドウ の [デザイン ビューでクエリの作成 ] をクリックします。

      注:

      これにより、新しいクエリが作成されます。

    2. [テーブルの表示] ダイアログ ボックスで、メイン テーブルと参照先テーブルを選択し、[追加] をクリックしてメインテーブルと参照先テーブルを追加し、[閉じる] をクリックします。
    3. 参照先のテーブルにリンクされていたメイン テーブル内のフィールドをクリックし、そのフィールドを参照先テーブルの以前にリンクされたフィールドにドラッグします。

      注:

      これにより、元のリンク フィールドに基づくテーブル間の結合が作成されます。

    4. [ クエリ ] メニューの [ クエリの更新] をクリックします。
    5. 参照先テーブルの新しいフィールドをダブルクリックして、フィールド リストに追加します。
    6. [ 更新対象 ] フィールドに 「Main TableName」と入力します。[新しい AutoNumber フィールド] を 使用して、参照先テーブルの新しいフィールド値を更新します。
    7. [ クエリ ] メニューの [ 実行] をクリックします。
    8. "# 行を新しいテーブルに貼り付ける" というメッセージが表示されたら、[ はい ] をクリックして行を挿入します。
    9. [ ファイル ] メニューの [ 閉じる] をクリックし、[ いいえ ] をクリックして [ クエリの更新 ] ウィンドウを閉じます。

    Access 2007 以降のバージョン

    1. [作成] タブをクリックし、[その他] グループの [クエリ デザイン] をクリックします。 これにより、新しいクエリが作成されます。
    2. [テーブルの表示] ダイアログ ボックスで、メインテーブルと参照先テーブルを選択します。 [追加] をクリックして、メイン テーブルと参照先テーブルを追加します。 [閉じる] をクリックします。
    3. 参照先のテーブルにリンクされていたメイン テーブル内のフィールドをクリックし、そのフィールドを参照先テーブルの以前にリンクされたフィールドにドラッグします。

      注:

      これにより、元のリンク フィールドに基づくテーブル間の結合が作成されます。

    4. [デザイン] タブの [クエリの種類] グループで [更新] をクリックします。

      注:

      これにより、クエリの種類が変更されます。

    5. 参照先テーブルの新しいフィールドをダブルクリックして、フィールド リストに追加します。
    6. [ 更新対象 ] フィールドに 「Main TableName」と入力します。[新しい AutoNumber フィールド] を 使用して、参照先テーブルの新しいフィールド値を更新します。
    7. [デザイン] タブの [結果] グループで [実行] をクリックします。
    8. "# 行を新しいテーブルに貼り付ける" というメッセージが表示されたら、[ はい ] をクリックして行を挿入します。
    9. クエリを閉じます。
  6. メイン テーブルと参照先テーブルから元のリンク フィールドを削除します。

  7. 新しい AutoNumber フィールドの名前を元の名前に戻します。

  8. 主キーとテーブル間のリレーションシップを再作成します。この手順では、 AutoNumber フィールドをリセットし、正しいキー値を使用して参照先テーブルを更新します。