Как перезапустить подсчет из 1 после удаления таблицы в MS Access?

У меня есть таблица в MS Access, которая имеет тип AutoNumber в поле ID

После ввода некоторых строк ID стал 200

Затем я удалил записи в таблице. Однако, когда я попытался вставить новую строку, я вижу, что ID начинается с 201

Как я могу принудительно перезапустить ID с помощью 1, не отбрасывая таблицу и не создавая новую?

Ответ 1

Вы можете использовать:

CurrentDb.Execute "ALTER TABLE yourTable ALTER COLUMN myID COUNTER(1,1)"

Я надеюсь, что у вас нет отношений, которые используют эту таблицу, я надеюсь, что она пуста, и я надеюсь, что вы понимаете, что все, что вы можете (в основном) полагаться на автономер, является уникальным. В зависимости от обстоятельств вы можете получить пробелы, прыжки, очень большие или даже отрицательные числа. Если ваш autonumber означает что-то, у вас возникнет серьезная проблема, ожидающая его.

Ответ 2

В Access 2007 - 2010 перейдите в раздел "Инструменты базы данных" и нажмите "Компакт" и "Восстановите базу данных", и он автоматически будет reset идентификатором.

Ответ 3

В дополнение ко всем озабоченностям, высказанным о том, почему вы даете крысиной заднице то, что значение ID (все правильно, что вы не должны), позвольте мне добавить это в микс:

Если вы удалили все записи из таблицы, уплотнение базы данных приведет к reset исходному значению обратно к исходному значению.

В таблице, где есть записи, и вы добавили значение в поле Autonumber, которое меньше максимального значения, вы должны использовать метод @Remou для reset начального значения. Это также применимо, если вы хотите reset до Max + 1 в таблице, где записи были удалены, например, 300 записей, последний идентификатор 300, удалить 201-300, compact не будет reset счетчика (вы должны использовать метод @Remou - это было не так в более ранних версиях Jet и, действительно, в ранних версиях Jet 4, первая версия Jet, которая позволяла программно обрабатывать начальное значение).

Ответ 4

Я думаю, что единственные способы сделать это изложены в в этой статье.

В статье описаны несколько методов. Вот один пример:

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

Удалите поле AutoNumber из основной таблицы.

  • Обратите внимание на имя поля AutoNumber.
  • Перейдите на вкладку "Создать" и выберите "Дизайн запросов" в группе "Другие".
  • В диалоговом окне "Показать таблицу" выберите основную таблицу. Нажмите "Добавить", а затем "Закрыть".
  • Дважды щелкните необходимые поля в представлении таблицы основной таблицы, чтобы выбрать поля.
  • Выберите требуемый порядок сортировки.
  • На вкладке "Дизайн" нажмите "Сделать таблицу" в группе "Тип запроса". Введите новое имя таблицы в поле "Имя таблицы" и нажмите "ОК".
  • На вкладке "Дизайн" нажмите "Выполнить" в группе "Результаты".
  • Появится следующее сообщение:   

    Вы собираетесь вставить # строку (строки) в новую таблицу.

      Нажмите "Да", чтобы вставить строки.
  • Закройте запрос.
  • Щелкните правой кнопкой мыши новую таблицу и выберите "Просмотр дизайна".
  • В представлении "Дизайн" для таблицы добавьте поле "AutoNumber", которое имеет то же имя поля, которое вы удалили на шаге 1. Добавьте этот AutoNumber в новую таблицу, а затем сохраните таблицу.
  • Закройте окно просмотра конструктора.
  • Переименуйте имя главной таблицы. Переименуйте имя новой таблицы в имя главной таблицы.