Вопрос

Просто любопытно: когда я импортировал данные из электронной таблицы с 519 строками в пустую таблицу, почему мои ключи автонумерации начинались с 56 557 618?Насколько большим это может стать?Я не хочу, чтобы в моем поле первичного ключа закончились цифры, поскольку я даже не начинал проект и ожидаю, что мне придется регулярно выгружать электронные таблицы.

Это было полезно?

Решение

Access запоминает последний выданный идентификатор даже для пустой таблицы.Чтобы сбросить автономер, вам необходимо сжать/восстановить базу данных после очистки таблицы.

Кроме того, автономер представляет собой длинное целое число, которое в Access может достигать 2 147 483 647.

Другие советы

Вы можете сбросить автономер без сжатия и восстановления, используя:

 CurrentDb.Execute "ALTER TABLE tblTable ALTER COLUMN ID COUNTER(1,1)"

Прежде чем запускать SQL, вы должны убедиться, что таблица пуста, иначе Access попытается создать повторяющиеся автономера.

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

При этом необходимо следить за тем, чтобы значение не было меньше максимального значения тока.

Например,

INSERT INTO tblName ( id )
SELECT [tblName]![id]+1 AS [New Value]
FROM tblName
GROUP BY [tblName]![id]+1, tblName.id
HAVING (((tblName.id)=(Select max(id) from tblName)));

Сбросил бы автономер на +2 от последнего номера.Обратите внимание, что вам придется включить все обязательные столбцы и впоследствии удалить новую строку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top