Мне не нужно сбрасывать значение AutoNumber, как в этом вопросе , но я бы хотел сначала установить число в:
1001
Который затем увеличивается как обычно:
1001
1002
1003
...
Как мне сделать это в Access 2010?
Мне не нужно сбрасывать значение AutoNumber, как в этом вопросе , но я бы хотел сначала установить число в:
1001
Который затем увеличивается как обычно:
1001
1002
1003
...
Как мне сделать это в Access 2010?
Ответы:
Хотя 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, выполнив следующие действия:
Перейдите на вкладку «Создать» и нажмите «Дизайн запроса»
Просто закройте окно, которое предлагает выбрать таблицы, нам это не нужно.
Перейдите на вкладку «Дизайн» и нажимайте кнопку со стрелкой, пока не появится экран ввода текста. (По умолчанию написано SELECT;
).
Удалите текст по умолчанию и вставьте вышеуказанный запрос.
Нажмите «Выполнить».
1- Создать таблицу1 2- Перейти к созданию -------> дизайн запроса. 3- Закройте таблицу 4- Перейдите к SQl сверху. 5- мимо этого кода.
ALTER TABLE [TABLE1] ALTER COLUMN [Id] СЧЕТЧИК (8982,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.) "
Вы должны обмануть Access, потому что он предполагает, что вас не интересует автономное число, отличное от того, которое он предоставляет.
Вам нужно будет начать таблицу с пользовательского автономера, который потребует некоторой настройки. Но как только это произойдет, вы можете просто продолжать добавлять оттуда.
Google "Access Change Autonumber Start", и вы найдете несколько вариантов для этого. Большинство полагается на создание запроса на добавление для изменения поля.
Создайте первую таблицу, которая содержит поле типа счетчика, которое вы хотите начать с другого номера. Не вводите никаких записей. Создайте вторую таблицу с одним полем типа длинного целого числа, имя которого совпадает с именем поля счетчика в первой таблице. Создайте запись во второй таблице, введя число на единицу меньше номера, с которого вы хотите запустить счетчик в первой таблице. Создайте запрос на добавление, чтобы добавить одну запись во второй таблице в первую таблицу и запустить ее. Удалить вторую таблицу, удалить запись, добавленную в первую таблицу, и начать ввод данных.
От MVPS.org: http://access.mvps.org/access/tables/tbl0005.htm
Если вам не хочется создавать запрос на добавление, вы всегда можете настроить таблицу, скопировать и вставить 1000 строк фиктивных данных из Excel, удалять записи до тех пор, пока не доберетесь до номера 1001, и продолжить с этого момента.
ОБНОВЛЕНИЕ: добавление объяснения причины
Причина, по которой для autonumber задано только начало от 1, состоит в том, что поле autonumber предназначено для использования в качестве внутреннего справочного поля, и в хорошей практике работы с базами данных обычно не следует использовать в какой-либо общедоступной форме. Он используется в тех случаях, когда в данной таблице еще нет уникального элемента для создания уникальной записи, по которой можно искать и индексировать таблицу.
Это довольно старая тема, но она по-прежнему отображается в тройке лучших результатов поиска Google.
Одной из причин, по которой пользователь может захотеть изменить значение поля автонумерации, является исправление ошибки, вызванной редактированием базы данных. Когда администратор может захотеть внести некоторые значительные изменения во внешний интерфейс базы данных, этот администратор может сделать копии всех связанных таблиц и перенаправить копию разработки внешнего интерфейса на эти внутренние серверы. Если изменений достаточно, он может просто заменить рабочую копию внешнего интерфейса своей копией, перенаправив все связанные таблицы после тестирования.
Нет проблем, верно? Что ж, инкремент автонумерации остается за внешним интерфейсом. Таким образом, если рабочая сторона просто увеличила число автонумера на 50, 500 или 5000 номеров, пока администратор работал с копией, то новая рабочая копия будет повторять те же номера и не сможет вводить элементы в эти поля, один в то время, пока это не становится "в чистоте". Скопируйте 50, 500 или 5000 строк данных Excel и попытайтесь вставить их. В каждой строке будет ошибка (не забудьте подавить дальнейшие сообщения, когда она появится), но число автонумеров увеличится на эту величину, и вы в порядке. идти снова. Если вы используете автономные номера таким образом, рекомендуется увеличить число до того, на котором находится производственная база данных, перед тем, как перезаписать ее своей рабочей версией.
Это также способ начать ваш автономный номер со значения, превышающего 1. Как и в прежние времена, когда счетчик посещений страницы устанавливался на 17 479 на вашей домашней странице Geocities, когда на самом деле его посещали только 16 раз. Тобой.
Простой способ добиться чего-то подобного состоит в том, чтобы иметь поле Autonumber (например, «ID») и второе вычисляемое поле (например, «ItemID») и ввести формулу «1000+ [ID]» для вычисляемого поля. Это новое поле теперь будет автоматически отслеживать поле Autonumber, но будет начинаться с 1001 вместо 1.
Я полагаю, что это может быть достигнуто для вашего пользовательского диапазона приращений, сначала создав скрытую таблицу, которая будет сохранять начальный разрыв автоинкрементов, начиная с нуля по вашему выбору, например. эта таблица будет содержать от 0 до 1050. Затем вы начнете с шагом 1055, 1060, 1065 и т. д. Затем вы спрячете эту часть данных из таблицы. Надеюсь это поможет. Похоже, что Access был спроектирован так, чтобы изначально выглядеть с нуля, так как возникнут конфликты.