8

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

1001

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

1001

1002

1003

...

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

7 ответов7

12

Хотя 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. Нажмите "Выполнить".

1

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

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

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

INSERT INTO tblName (ID) SELECT 999 AS Expr1

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

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

УДАЛИТЬ ИЗ tblName WHERE ID = 999;

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

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

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

1

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

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

Google "Access Change Autonumber Start", и вы найдете несколько вариантов для этого. Большинство полагается на создание запроса на добавление для изменения поля.

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

От MVPS.org:http://access.mvps.org/access/tables/tbl0005.htm

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

ОБНОВЛЕНИЕ: добавление объяснения причины

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

1

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

ALTER TABLE [TABLE1] ALTER COLUMN [Id] СЧЕТЧИК (8982,1)

0

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

0

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

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

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

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .