2011-05-24 20:07:13 +0000 2011-05-24 20:07:13 +0000
9
9

Как установить первое значение AutoNumber в Access?

Мне не нужно сбрасывать значение AutoNumber как этот вопрос , а хотелось бы сначала установить число:

1001

Которое затем увеличивается как обычно:

1001

1002

1003

Как это сделать в Access 2010?

Ответы (7)

15
15
15
2011-05-24 20:33:07 +0000

Хотя Access не предлагает эту функцию нативно, она может быть получена с помощью запроса, как показано ниже:

CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)

Это создаст единую таблицу под названием “TableThatIncrements” с одним столбцом под названием “Id”. Теперь вы можете использовать редактор таблиц для добавления свойств и/или других столбцов.

Измените

AUTOINCREMENT(x,y)

в соответствии с вашими потребностями, где x - это начальный номер инкремента, а y - номер для инкремента. Таким образом, AUTOINCREMENT(100,5) даст: 100, 105, 110, 115 и т.д.

Если вы хотите изменить существующую таблицу, используйте следующий запрос. Убедитесь, что закладка конкретной таблицы закрыта, чтобы Access мог ее заблокировать и изменить.

ALTER TABLE TableThatIncrements
   ALTER COLUMN Id AUTOINCREMENT(1001,1)

Вы можете выполнить запрос в Access, сделав следующее:

  1. Перейдите на вкладку “Создание” и нажмите “Дизайн запроса”

  2. Просто закройте появившееся окно, в котором предлагается выбрать таблицы, нам это не нужно.

  3. Перейдите на вкладку “Дизайн” и нажмите на кнопку со стрелкой, пока не получите экран ввода текста. (По умолчанию написано SELECT;).

  4. Удалите текст по умолчанию и вставьте вышеприведенный запрос.

  5. Нажмите “Выполнить”.

2
2
2
2018-06-27 14:18:09 +0000

1- Создайте таблицу1 2- Создайте ——- > запрос на проектирование. 3- Закрыть таблицу 4- Перейти на SQl сверху. 5- Прошли этот код.

ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER [8982,1].

1
1
1
2011-05-24 20:18:11 +0000

Вы должны обмануть Access, потому что он предполагает, что вы не заинтересованы в автономере, отличном от того, который он предоставляет.

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

Google “access change autonumber start” и вы найдете несколько вариантов для этого. Большинство полагаются на создание запроса приложения для изменения поля.

Создайте первую таблицу, содержащую поле типа счетчика, которое вы хотите начать с другого номера. Не вводите никаких записей. Создайте вторую таблицу с одним длинным целым полем типа номера, которое имеет то же имя, что и поле счетчика в первой таблице. Создайте запись во второй таблице, введя номер один меньше номера, с которого вы хотите начать счетчик в первой таблице. Создайте запрос в приложении, чтобы добавить одну запись во второй таблице к первой таблице, и запустите его Удалить вторую таблицу, удалить запись, которая была добавлена в первую таблицу, и начать ввод данных.

Из MVPS.org http://access.mvps.org/access/tables/tbl0005.htm

Если вы не хотите строить запрос приложения, вы всегда можете настроить таблицу и скопировать и вставить 1000 строк фиктивных данных из excel, удалить записи, пока не доберетесь до номера 1001, и начать вводить данные оттуда.

UPDATE: Добавление объяснения причины

Причина, по которой автономера начинается только с 1, заключается в том, что поле автономера предназначено для использования в качестве внутреннего справочного поля, и в хорошей практике работы с базами данных, как правило, не должно использоваться в какой-либо общедоступной форме. Оно используется в тех случаях, когда в данной таблице еще нет уникального элемента, для создания уникальной записи, по которой можно осуществлять поиск и индексирование таблицы.

1
1
1
2018-02-10 22:13:06 +0000

На этом сайте есть очень простой способ начать автономерацию с любого желаемого номера http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp

Вы создаете запрос с выражением, которое говорит в поле автономера изменить

“Сначала запустите этот запрос”:

INSERT INTO tblName ( ID ) SELECT 999 AS Expr1

Где tblName - имя таблицы, а ID - имя поля AutoNumber.

Затем выполните второй запрос, чтобы удалить вставленную строку:

DELETE FROM tblName WHERE ID=999;

(В качестве альтернативы, вы можете просто открыть таблицу и вручную удалить вставленную вами строку).

Теперь следующей записи, добавленной в таблицу, присваивается значение 1000.

Этот метод работает с новой таблицей или с таблицей, чей AutoNumber еще не достиг значения Seed. (Конечно, поле ID для существующих строк не будет изменено, но последующие строки будут начинаться с 1000)“.

0
0
0
2017-01-24 18:13:24 +0000

Это довольно старая тема, но все равно всплывает как три лучших результата поиска Google.

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

Нет проблем, верно? Ну, приращение автономера остается с передним концом. Так что если производственная сторона только что увеличил автономера на 50 или 500 или 5000 номеров в то время как администратор работал над копией, то новая производственная копия будет, повторив эти же номера и не будет в состоянии ввести элементы в эти поля, по одному за раз, пока он не получит “в чистом”. Скопируйте 50, 500 или 5000 строк данных excel и попробуйте вставить их. Это приведет к ошибке в каждой строке (не забудьте подавить дальнейшие сообщения, когда они всплывут), но автономера увеличится на эту сумму, и вы можете идти снова. Если вы используете автономера таким образом, то рекомендуется увеличивать числа до того, в каком производственном db находится, прежде чем перезаписывать его своей рабочей копией.

Это также способ начать ваш автономера с чего-то выше 1. Как в старые времена установки счетчика посещений страницы на 17,479 на вашей домашней странице Geocities, когда на самом деле его посещали только 16 раз. Вы.

0
0
0
2017-11-12 15:50:55 +0000

Я считаю, что это может быть достигнуто в вашем пользовательском диапазоне приращений, сначала создав скрытую таблицу, которая будет держать начальный разрыв автоматического приращения начала с нуля на ваш выбор, например, что таблица будет держать от 0 до 1050 Тогда вы начнете с приращений 1055, 1060, 1065 и т.д.. Затем вы будете скрывать эту часть данных из таблицы. Надеюсь, это поможет. Похоже, что Access был спроектирован так, чтобы изначально смотреть с нуля, так как будут возникать конфликты.

0
0
0
2017-02-24 02:19:19 +0000

Простой способ достичь чего-то подобного - иметь поле Autonumber (например, “ID”) и второе Рассчитанное поле (например, “ItemID”) и ввести формулу “1000+[ID]” для рассчитанного поля. Это новое поле теперь будет автоматически отслеживать поле Autonumber, но будет начинаться со 1001 вместо 1.