Сброс значения поля autoNumber в Access
Исходный номер базы знаний: 812718
Сводка
В этой пошаговой статье описывается, как сбросить значение поля autoNumber в Access. Значение поля AutoNumber в Access не сбрасывается автоматически при удалении некоторых строк или всех строк в таблице. Чтобы сбросить значение поля AutoNumber и обновить значение autoNumber в указанной таблице, необходимо вручную выполнить некоторые задачи.
Примечание.
Перед выполнением следующих действий необходимо создать резервную копию базы данных.
Сброс поля autoNumber в одной таблице
Если таблица не имеет связей с другими таблицами, используйте метод 1 или метод 2, чтобы сбросить значение поля autoNumber.
Способ 1. Перемещение данных в новую таблицу с помощью запроса Make-Table
Можно сбросить значение поля autoNumber с помощью запроса Make-Table, чтобы создать новую таблицу с теми же данными, а затем добавить новое поле autoNumber.
Access 2003 и более ранних версий
Чтобы сделать это в Access 2003 или более ранней версии, выполните следующие действия.
- Удалите поле AutoNumber из таблицы main и запишите имя поля AutoNumber.
- Щелкните Запросы на панели слева, а затем дважды щелкните Создать запрос в режиме конструктора на правой панели.
- В диалоговом окне Показать таблицу выберите main таблицу, нажмите кнопку Добавить и нажмите кнопку Закрыть.
- Дважды щелкните необходимые поля в табличном представлении таблицы main, чтобы выбрать поля.
- Выберите необходимый порядок сортировки .
- В меню Запрос выберите Пункт Создать табличный запрос, введите новое имя таблицы в текстовом поле Имя таблицы и нажмите кнопку ОК.
- В меню Запрос выберите команду Выполнить.
- Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
- В меню Файл нажмите кнопку Закрыть, а затем нажмите кнопку Нет , чтобы закрыть окно Запроса make-Table .
- В левой области выберите Пункт Таблицы , щелкните правой кнопкой мыши новую таблицу и выберите пункт Конструктор.
- В режиме конструктора таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1, добавьте это поле автонумера в новую таблицу, а затем сохраните таблицу.
- Закройте окно конструктора .
- Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.
Access 2007 и более поздних версий
Для этого в Microsoft Office Access 2007 или более поздней версии выполните следующие действия.
- Удалите поле AutoNumber из таблицы main и запишите имя поля AutoNumber.
- Перейдите на вкладку Создать и выберите Пункт Конструктор запросов в группе Другие .
- В диалоговом окне Показать таблицу выберите таблицу main. Нажмите Добавить, а затем — Закрыть.
- Дважды щелкните необходимые поля в табличном представлении таблицы main, чтобы выбрать поля.
- Выберите необходимый порядок сортировки .
- На вкладке Конструктор щелкните Создать таблицу в группе Тип запроса .
- Введите новое имя таблицы в поле Имя таблицы и нажмите кнопку ОК.
- На вкладке Конструктор нажмите кнопку Выполнить в группе Результаты .
- Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
- Закройте запрос.
- Щелкните таблицу правой кнопкой мыши и выберите конструктор.
- В представлении Конструктор таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле AutoNumber в новую таблицу, а затем сохраните таблицу.
- Закройте окно конструктора.
- Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.
Способ 2. Создайте таблицу и переместите в нее данные с помощью запроса на добавление
Структуру существующей таблицы можно скопировать как новую. Затем вы можете добавить данные в новую таблицу и добавить новое поле AutoNumber.
Access 2003 и более ранних версий
Для этого в Microsoft Office Access 2003 и более ранних версиях выполните следующие действия.
Удалите поле AutoNumber из таблицы main.
Запишите имя поля AutoNumber .
Скопируйте структуру таблицы main и создайте новую таблицу.
Щелкните Запросы на панели слева. Щелкните Создать запрос в режиме конструктора в правой области.
В диалоговом окне Показать таблицу выберите таблицу main. Нажмите кнопку Добавить , а затем — Закрыть.
Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, кроме поля AutoNumber в представлении таблицы main.
В меню Запрос выберите команду Добавить запрос.
Примечание.
При этом изменяется тип запроса.
В списке Имя таблицы выберите новую таблицу, созданную на шаге 2. Нажмите кнопку OK.
В меню Запрос выберите команду Выполнить.
Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
В меню Файл выберите команду Закрыть. Нажмите кнопку Нет , чтобы закрыть окно AppendQuery .
Щелкните Таблицы в левой области. Щелкните правой кнопкой мыши новую таблицу и выберите конструктор.
В представлении Конструктор таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле AutoNumber в новую таблицу, а затем сохраните таблицу.
Закройте окно конструктора .
Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.
Access 2007 и более поздних версий
Для этого в Microsoft Office Access 2007 или более поздней версии выполните следующие действия.
Удалите поле AutoNumber из таблицы main.
Запишите имя поля AutoNumber .
Скопируйте структуру таблицы main, а затем создайте новую таблицу.
Перейдите на вкладку Создать и выберите Пункт Конструктор запросов в группе Другие .
В диалоговом окне Показать таблицу выберите таблицу main. Нажмите Добавить, а затем — Закрыть.
Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, кроме поля AutoNumber в представлении таблицы main.
На вкладке Конструктор нажмите кнопку Добавить в группе Тип запроса .
Примечание.
При этом изменяется тип запроса.
В списке Имя таблицы выберите новую таблицу, созданную на шаге 2, и нажмите кнопку ОК.
На вкладке Конструктор нажмите кнопку Выполнить в группе Результаты .
Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
Закройте запрос.
Щелкните таблицу правой кнопкой мыши и выберите конструктор.
В представлении Конструктор таблицы добавьте поле AutoNumber с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле AutoNumber в новую таблицу, а затем сохраните таблицу.
Закройте окно конструктора.
Переименуйте таблицу main, а затем переименуйте новую таблицу в соответствии с именем main таблицы.
Сброс поля autoNumber в таблице с указанными таблицами
Таблица с таблицами, на которые ссылается ссылка, имеет связь с одной или несколькими таблицами. Далее описано, как сбросить поле "Автонумер " для таблицы с одной указанной таблицей. Если у вас несколько таблиц, на которые ссылается ссылка, необходимо выполнить следующие действия для каждой из них.
Удалите связь между таблицами.
Задайте для поля AutoNumber таблицы main тип данных Number, а затем удалите первичный ключ.
Создайте новое поле типа данных AutoNumber в таблице main, а затем сохраните таблицу.
Создайте новое поле типа данных Number в указанной таблице, а затем сохраните таблицу.
Чтобы создать запрос на обновление, который обновляет новое поле в указанной таблице до нового поля AutoNumber таблицы main, выполните следующие действия.
Access 2003 и более ранних версий
- Щелкните Запросы в левой области, а затем щелкните Создать запрос в режиме конструктора в правой области.
Примечание.
При этом будет создан новый запрос.
- В диалоговом окне Показать таблицу выберите таблицу main и таблицу, на нее ссылается, нажмите кнопку Добавить, чтобы добавить таблицу main и таблицу, на нее ссылается ссылка, а затем нажмите кнопку Закрыть.
- Щелкните поле в таблице main, которая ранее была связана с указанной таблицей, а затем перетащите поле в ранее связанное поле указанной таблицы.
Примечание.
При этом создается соединение между таблицами, основанное на исходных полях связывания.
- В меню Запрос выберите команду Обновить запрос.
- Дважды щелкните новое поле из указанной таблицы, чтобы добавить его в список полей.
- В поле Обновить до введите [Main TableName].[ Новое поле autoNumber] для обновления новых значений полей в указанной таблице.
- В меню Запрос выберите команду Выполнить.
- Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
- В меню Файл выберите команду Закрыть, а затем нажмите кнопку Нет , чтобы закрыть окно Запрос на обновление .
Access 2007 и более поздних версий
- Перейдите на вкладку Создать и выберите Пункт Конструктор запросов в группе Другие . При этом создается новый запрос.
- В диалоговом окне Показать таблицу выберите таблицу main и таблицу, на нее указана ссылка. Нажмите кнопку Добавить, чтобы добавить таблицу main и таблицу, на нее указана ссылка. Нажмите кнопку Закрыть.
- Щелкните поле в таблице main, которая ранее была связана с указанной таблицей, а затем перетащите поле в ранее связанное поле указанной таблицы.
Примечание.
При этом создается соединение между таблицами, основанное на исходных полях связывания.
- На вкладке Конструктор нажмите кнопку Обновить в группе Тип запроса .
Примечание.
При этом изменяется тип запроса.
- Дважды щелкните новое поле из указанной таблицы, чтобы добавить его в список полей.
- В поле Обновить до введите [Main TableName].[ Новое поле autoNumber] для обновления новых значений полей в указанной таблице.
- На вкладке Конструктор нажмите кнопку Выполнить в группе Результаты .
- Когда появится запрос на вставку строк #в новую таблицу, нажмите кнопку Да , чтобы вставить строки.
- Закройте запрос.
- Щелкните Запросы в левой области, а затем щелкните Создать запрос в режиме конструктора в правой области.
Удалите исходное поле связывания из таблицы main и таблицы, на которые указывает ссылка.
Верните имя нового поля AutoNumber в исходное имя.
Повторно создайте первичный ключ и связь между таблицами. Эта процедура сбрасывает поле autoNumber и обновляет таблицу, на которую указывает ссылка, используя правильные значения ключа.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по