Сброс значения поля autoNumber в Access

Исходный номер базы знаний: 812718

Сводка

В этой пошаговой статье описывается, как сбросить значение поля autoNumber в Access. Значение поля AutoNumber в Access не сбрасывается автоматически при удалении некоторых строк или всех строк в таблице. Чтобы сбросить значение поля AutoNumber и обновить значение autoNumber в указанной таблице, необходимо вручную выполнить некоторые задачи.

Примечание.

Перед выполнением следующих действий необходимо создать резервную копию базы данных.

Сброс поля autoNumber в одной таблице

Если таблица не имеет связей с другими таблицами, используйте метод 1 или метод 2, чтобы сбросить значение поля autoNumber.

Способ 1. Перемещение данных в новую таблицу с помощью запроса Make-Table

Можно сбросить значение поля autoNumber с помощью запроса Make-Table, чтобы создать новую таблицу с теми же данными, а затем добавить новое поле autoNumber.

Access 2003 и более ранних версий

Чтобы сделать это в Access 2003 или более ранней версии, выполните следующие действия.

  1. Удалите поле AutoNumber из таблицы main и запишите имя поля AutoNumber.
  2. Щелкните Запросы на панели слева, а затем дважды щелкните Создать запрос в режиме конструктора на правой панели.
  3. В диалоговом окне Показать таблицу выберите main таблицу, нажмите кнопку Добавить и нажмите кнопку Закрыть.
  4. Дважды щелкните необходимые поля в табличном представлении таблицы main, чтобы выбрать поля.
  5. Выберите необходимый порядок сортировки .
  6. В меню Запрос выберите Пункт Создать табличный запрос, введите новое имя таблицы в текстовом поле Имя таблицы и нажмите кнопку ОК.
  7. В меню Запрос выберите команду Выполнить.
  8. Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
  9. В меню Файл нажмите кнопку Закрыть, а затем нажмите кнопку Нет , чтобы закрыть окно Запроса make-Table .
  10. В левой области выберите Пункт Таблицы , щелкните правой кнопкой мыши новую таблицу и выберите пункт Конструктор.
  11. В режиме конструктора таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1, добавьте это поле автонумера в новую таблицу, а затем сохраните таблицу.
  12. Закройте окно конструктора .
  13. Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.

Access 2007 и более поздних версий

Для этого в Microsoft Office Access 2007 или более поздней версии выполните следующие действия.

  1. Удалите поле AutoNumber из таблицы main и запишите имя поля AutoNumber.
  2. Перейдите на вкладку Создать и выберите Пункт Конструктор запросов в группе Другие .
  3. В диалоговом окне Показать таблицу выберите таблицу main. Нажмите Добавить, а затем — Закрыть.
  4. Дважды щелкните необходимые поля в табличном представлении таблицы main, чтобы выбрать поля.
  5. Выберите необходимый порядок сортировки .
  6. На вкладке Конструктор щелкните Создать таблицу в группе Тип запроса .
  7. Введите новое имя таблицы в поле Имя таблицы и нажмите кнопку ОК.
  8. На вкладке Конструктор нажмите кнопку Выполнить в группе Результаты .
  9. Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
  10. Закройте запрос.
  11. Щелкните таблицу правой кнопкой мыши и выберите конструктор.
  12. В представлении Конструктор таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле AutoNumber в новую таблицу, а затем сохраните таблицу.
  13. Закройте окно конструктора.
  14. Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.

Способ 2. Создайте таблицу и переместите в нее данные с помощью запроса на добавление

Структуру существующей таблицы можно скопировать как новую. Затем вы можете добавить данные в новую таблицу и добавить новое поле AutoNumber.

Access 2003 и более ранних версий

Для этого в Microsoft Office Access 2003 и более ранних версиях выполните следующие действия.

  1. Удалите поле AutoNumber из таблицы main.

    Запишите имя поля AutoNumber .

  2. Скопируйте структуру таблицы main и создайте новую таблицу.

  3. Щелкните Запросы на панели слева. Щелкните Создать запрос в режиме конструктора в правой области.

  4. В диалоговом окне Показать таблицу выберите таблицу main. Нажмите кнопку Добавить , а затем — Закрыть.

  5. Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, кроме поля AutoNumber в представлении таблицы main.

  6. В меню Запрос выберите команду Добавить запрос.

    Примечание.

    При этом изменяется тип запроса.

  7. В списке Имя таблицы выберите новую таблицу, созданную на шаге 2. Нажмите кнопку OK.

  8. В меню Запрос выберите команду Выполнить.

  9. Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.

  10. В меню Файл выберите команду Закрыть. Нажмите кнопку Нет , чтобы закрыть окно AppendQuery .

  11. Щелкните Таблицы в левой области. Щелкните правой кнопкой мыши новую таблицу и выберите конструктор.

  12. В представлении Конструктор таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле AutoNumber в новую таблицу, а затем сохраните таблицу.

  13. Закройте окно конструктора .

  14. Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.

Access 2007 и более поздних версий

Для этого в Microsoft Office Access 2007 или более поздней версии выполните следующие действия.

  1. Удалите поле AutoNumber из таблицы main.

    Запишите имя поля AutoNumber .

  2. Скопируйте структуру таблицы main, а затем создайте новую таблицу.

  3. Перейдите на вкладку Создать и выберите Пункт Конструктор запросов в группе Другие .

  4. В диалоговом окне Показать таблицу выберите таблицу main. Нажмите Добавить, а затем — Закрыть.

  5. Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, кроме поля AutoNumber в представлении таблицы main.

  6. На вкладке Конструктор нажмите кнопку Добавить в группе Тип запроса .

    Примечание.

    При этом изменяется тип запроса.

  7. В списке Имя таблицы выберите новую таблицу, созданную на шаге 2, и нажмите кнопку ОК.

  8. На вкладке Конструктор нажмите кнопку Выполнить в группе Результаты .

  9. Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.

  10. Закройте запрос.

  11. Щелкните таблицу правой кнопкой мыши и выберите конструктор.

  12. В представлении Конструктор таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле AutoNumber в новую таблицу, а затем сохраните таблицу.

  13. Закройте окно конструктора.

  14. Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.

Сброс поля autoNumber в таблице с указанными таблицами

Таблица с таблицами, на которые ссылается ссылка, имеет связь с одной или несколькими таблицами. Далее описано, как сбросить поле "Автонумер " для таблицы с одной указанной таблицей. Если у вас несколько таблиц, на которые ссылается ссылка, необходимо выполнить следующие действия для каждой из них.

  1. Удалите связь между таблицами.

  2. Задайте для поля AutoNumber таблицы main тип данных Number, а затем удалите первичный ключ.

  3. Создайте новое поле типа данных AutoNumber в таблице main, а затем сохраните таблицу.

  4. Создайте новое поле типа данных Number в указанной таблице, а затем сохраните таблицу.

  5. Чтобы создать запрос на обновление, который обновляет новое поле в указанной таблице до нового поля AutoNumber таблицы main, выполните следующие действия.

    Access 2003 и более ранних версий

    1. Щелкните Запросы в левой области, а затем щелкните Создать запрос в режиме конструктора в правой области.

      Примечание.

      При этом будет создан новый запрос.

    2. В диалоговом окне Показать таблицу выберите таблицу main и таблицу, на нее ссылается, нажмите кнопку Добавить, чтобы добавить таблицу main и таблицу, на нее ссылается ссылка, а затем нажмите кнопку Закрыть.
    3. Щелкните поле в таблице main, которая ранее была связана с указанной таблицей, а затем перетащите поле в ранее связанное поле указанной таблицы.

      Примечание.

      При этом создается соединение между таблицами, основанное на исходных полях связывания.

    4. В меню Запрос выберите команду Обновить запрос.
    5. Дважды щелкните новое поле из указанной таблицы, чтобы добавить его в список полей.
    6. В поле Обновить до введите [Main TableName].[ Новое поле autoNumber] для обновления новых значений полей в указанной таблице.
    7. В меню Запрос выберите команду Выполнить.
    8. Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
    9. В меню Файл выберите команду Закрыть, а затем нажмите кнопку Нет , чтобы закрыть окно Запрос на обновление .

    Access 2007 и более поздних версий

    1. Перейдите на вкладку Создать и выберите Пункт Конструктор запросов в группе Другие . При этом создается новый запрос.
    2. В диалоговом окне Показать таблицу выберите таблицу main и таблицу, на нее указана ссылка. Нажмите кнопку Добавить, чтобы добавить таблицу main и таблицу, на нее указана ссылка. Нажмите кнопку Закрыть.
    3. Щелкните поле в таблице main, которая ранее была связана с указанной таблицей, а затем перетащите поле в ранее связанное поле указанной таблицы.

      Примечание.

      При этом создается соединение между таблицами, основанное на исходных полях связывания.

    4. На вкладке Конструктор нажмите кнопку Обновить в группе Тип запроса .

      Примечание.

      При этом изменяется тип запроса.

    5. Дважды щелкните новое поле из указанной таблицы, чтобы добавить его в список полей.
    6. В поле Обновить до введите [Main TableName].[ Новое поле autoNumber] для обновления новых значений полей в указанной таблице.
    7. На вкладке Конструктор нажмите кнопку Выполнить в группе Результаты .
    8. Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
    9. Закройте запрос.
  6. Удалите исходное поле связывания из таблицы main и таблицы, на которые указывает ссылка.

  7. Верните имя нового поля AutoNumber в исходное имя.

  8. Повторно создайте первичный ключ и связь между таблицами. Эта процедура сбрасывает поле autoNumber и обновляет таблицу, на которую указывает ссылка, используя правильные значения ключа.