MS Access AutoNumber при импорте - PullRequest
1 голос
/ 05 июня 2009

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

Ответы [ 3 ]

3 голосов
/ 05 июня 2009

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

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

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

1 голос
/ 05 июня 2009

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

Кроме того, автономный номер - это длинное целое число, которое в Access может доходить до 2 147 483 647

0 голосов
/ 05 июня 2009

Вы также можете сбросить автонумерацию, создав запрос на добавление, включающий столбец автонумерации. После добавления строки в число будет добавлено значение + 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 последнего номера. Обратите внимание, что вам придется включить все обязательные столбцы и впоследствии удалить новую строку.

...