как поменять номер в access
Добавление и изменение первичного ключа таблицы в Access
Первичный ключ — это поле или набор полей со значениями, которые являются уникальными для всей таблицы. Значения ключа могут использоваться для обозначения всех записей, при этом каждая запись имеет отдельное значение ключа. Каждая таблица может содержать только один первичный ключ. Access может автоматически создавать поле первичного ключа при создании таблицы. Вы также можете самостоятельно указать поля, которые нужно использовать в качестве первичного ключа. В этой статье объясняется, как и зачем использовать первичные ключи.
Чтобы задать первичный ключ таблицы, откройте таблицу в режиме конструктора. Выберите нужное поле (или поля), а затем на ленте щелкните Ключевое поле.
Примечание: Эта статья относится только к классическим базам данных Access. В веб-приложениях Access и веб-базах данных первичный ключ для новых таблиц назначается автоматически. Несмотря на то что автоматические первичные ключи можно менять, делать это не рекомендуется.
В этой статье
Общие сведения о первичных ключах в Access
Используя поля первичных ключей, Access быстро связывает данные из нескольких таблиц и объединяет их понятным образом. Вы можете добавить поля первичных ключей в другие таблицы, чтобы ссылаться на таблицу, которая является источником первичного ключа. В других таблицах поля называются внешними ключами. Например, поле «ИД клиента» в таблице «Клиенты» также может отображаться в таблице «Заказы». В таблице «Клиенты» оно является первичным ключом. В таблице «Заказы» оно называется внешним ключом. Проще говоря, внешний ключ — это первичный ключ другой таблицы. Дополнительные сведения см. в статье Основные сведения о создании баз данных.
При переносе существующих данных в базу данных в них уже может существовать поле, которое можно использовать как первичный ключ. Часто в роли первичного ключа таблицы выступает уникальный идентификационный номер, например порядковый или инвентарный номер или код. Например, в таблице «Клиенты» для каждого клиента может быть указан уникальный код клиента. Поле кода клиента является первичным ключом.
Для первичного ключа автоматически создается индекс, ускоряющий выполнение запросов и операций. Кроме того, приложение Access проверяет наличие и уникальность значений в поле первичного ключа.
При создании таблицы в режиме таблицы Access автоматически создает первичный ключ с именем «Код» и типом данных «Счетчик».
Создание приемлемого первичного ключа
Чтобы правильно выбрать первичный ключ, следует учитывать несколько характеристик.
Ключ должен однозначно определять каждую строку.
В нем не должно быть пустых или отсутствующих значений — он всегда содержит значение.
Ключ крайне редко изменяется (в идеале — никогда).
Если не удается определить приемлемый ключ, создайте для него поле с типом данных «Счетчик». Поле «Счетчик» заполняется автоматически созданными значениями при первом сохранении каждой записи. Таким образом, поле «Счетчик» соответствует всем трем характеристикам приемлемого первичного ключа. Дополнительные сведения о добавлении поля «Счетчик» см. в статье Добавление поля счетчика в качестве первичного ключа.
Поле с типом данных «Счетчик» является хорошим первичным ключом.
Примеры неудачных первичных ключей
Любое поле, не имеющее одной или нескольких характеристик подходящего первичного ключа, не следует выбирать в качестве первичного ключа. Ниже представлено несколько примеров полей, которые не годятся на роль первичного ключа в таблице «Контакты», и пояснения, почему их не следует использовать.
Неподходящий первичный ключ
Может быть не уникальным и может изменяться
Как поменять номер в access
Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.7.2008
Репутация: нет
Всего: нет
Советчик
Профиль
Группа: Модератор
Сообщений: 20503
Регистрация: 8.4.2004
Где: Зеленоград
Репутация: 34
Всего: 453


















![]() ![]() |
1. Публиковать ссылки на вскрытые компоненты
2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
[ Время генерации скрипта: 0.1029 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Как «заставить» счетчик начинать нумеровать с произвольного номера и с произвольным инкрементом
Иногда необходимо изменить начальный номер счетчика с которого начинается автоматический отсчет. Просто так в Access это сделать не удастся.
Для того, чтобы добиться этой цели, необходимо добавить в таблицу запись с нужным значением счетчика.
Пример с использованием временной таблицы и запроса:
Допустим, у Вас есть таблица Table1, которая содержит поле счетчика ID, которое вы желаете стартовать с другого номера. Не вводите пока никаких записей в таблицу. Создайте, другую временную таблицу с одним полем типа Длинное целое, которое имеете тоже имя (в нашем случае ID), что и поле счетчика в первой таблице. Создайте запись во временной таблице, введя номер на единицу меньше того, с какого вы желаете стартовать счетчик в таблице Table1. Создайте запрос на добавление, чтобы добавить одну запись из второй таблицы в первую таблицу, и запустите его. Удалите вторую временную таблицу, удалите запись, которая появилась в таблице Table1 и начинайте вводить данные.
Пример с использованием запроса:
‘Есть таблица «Table1» с полем «ID» типа «счетчик»
PARAMETERS [Number] Long;
INSERT INTO Table1( [ID] )
Select [Number] As Expr1;
Создаете новый запрос, добавляете таблицу, выбираете режим SQL, вставляете эти строки и сохраняете запрос.
После выполнения запроса введите желаемое число и поле счетчик в таблице будет нумеровать именно с этого номера.
Пример с использованием VBA:
‘Есть таблица «Table1» с полем «ID» типа «счетчик»
Public Function AddNumer(lNum As Long) As Long
On Error GoTo Err_
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset(«Table1»)
Можно использовать мощные инструкции SQL:
‘Есть таблица «Table1» с полем «ID» типа «счетчик»
ALTER TABLE Table1 ALTER COLUMN ID Counter(1,1)
Создаете новый запрос, добавляете таблицу, выбираете режим SQL, вставляете эти строки и сохраняете запрос.
Можно сказать, что это малодокументированная команда 😉 с широкими возможностями управления полем типа счетчик.
Сброс значения поля AutoNumber в Access
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Исходный номер КБ: 812718
Сводка
В этой пошаговой статье описывается, как сбросить значение поля AutoNumber в Access. Значение поля AutoNumber в Access автоматически не сбрасывается при удалении некоторых строк или всех строк в таблице. Чтобы сбросить значение поля AutoNumber и обновить значение AutoNumber в справочной таблице, необходимо вручную выполнить некоторые задачи.
Перед выполнением последующих действий необходимо выполнить базу данных.
Сброс поля AutoNumber в одной таблице
Если ваша таблица не имеет связей с другими таблицами, используйте метод 1 или метод 2 для сброса значения поля AutoNumber.
Метод 1. Перемещение данных в новую таблицу с помощью Make-Table запроса
Вы можете сбросить значение поля AutoNumber с помощью запроса Make-Table для создания новой таблицы с одинаковыми данными и добавления нового поля AutoNumber.
Доступ к версиям 2003 и более ранних версий
Чтобы сделать это в Access 2003 или в более ранней версии, выполните следующие действия:
Доступ к версиям 2007 и более поздних версий
Для этого в Microsoft Office Access 2007 или в более поздней версии выполните следующие действия:
Метод 2. Создание новой таблицы и перемещение данных в нее с помощью запроса приложения
Структуру существующей таблицы можно скопировать в виде новой таблицы. Затем можно добавить данные в новую таблицу и добавить новое поле AutoNumber.
Доступ к версиям 2003 и более ранних версий
Для этого в Microsoft Office Access 2003 и в более ранних версиях выполните следующие действия:
Удаление поля AutoNumber из основной таблицы.
Обратите внимание на имя поля AutoNumber.
Скопируйте структуру основной таблицы и создайте новую таблицу.
Щелкните Запросы на левой области. Щелкните Создать запрос в представлении Design на правой области.
В диалоговом окне Show Table выберите главную таблицу. Щелкните Добавить и нажмите кнопку Закрыть.
Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, за исключением поля AutoNumber в представлении таблицы главной таблицы.
В меню Запрос нажмите кнопку Append Query.
Это меняет тип запроса.
В списке Имя таблицы выберите новую таблицу, созданную на шаге 2. Нажмите кнопку OK.
В меню Запрос нажмите кнопку Выполнить.
Когда вам будет предложено сообщение «Вы вот-вот вставьте #row(s) в новую таблицу», нажмите кнопку Да, чтобы вставить строки.
В меню Файл нажмите кнопку Закрыть. Нажмите кнопку Нет, чтобы закрыть окно AppendQuery.
Щелкните Таблицы на левой области. Щелкните правой кнопкой мыши новую таблицу и нажмите кнопку Просмотр дизайна.
В представлении Design для таблицы добавьте поле AutoNumber с тем же именем поля, которое удалено на шаге 1. Добавьте это поле AutoNumber в новую таблицу и сохраните таблицу.
Закрой окно представления Design.
Переименуй главную таблицу, а затем переименуй новую таблицу в соответствие с именем главной таблицы.
Доступ к версиям 2007 и более поздних версий
Для этого в Microsoft Office Access 2007 или в более поздней версии выполните следующие действия:
Удаление поля AutoNumber из основной таблицы.
Обратите внимание на имя поля AutoNumber.
Скопируйте структуру основной таблицы и создайте новую таблицу.
Щелкните вкладку Создать, а затем нажмите кнопку Дизайн запроса в другой группе.
В диалоговом окне Show Table выберите главную таблицу. Нажмите Добавить, а затем — Закрыть.
Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, за исключением поля AutoNumber в представлении таблицы главной таблицы.
На вкладке Дизайн щелкните Приложение в группе Тип запроса.
Это меняет тип запроса.
Я список имен таблицы, выберите новую таблицу, созданную на шаге 2, а затем нажмите кнопку ОК.
На вкладке Дизайн нажмите кнопку Выполнить в группе Результаты.
Когда вам будет предложено сообщение «Вы вот-вот вставьте #row(s) в новую таблицу», нажмите кнопку Да, чтобы вставить строки.
Щелкните правой кнопкой мыши новую таблицу и нажмите кнопку Просмотр дизайна.
В представлении Design для таблицы добавьте поле AutoNumber с тем же именем поля, которое удалено в шаге 1. Добавьте это поле AutoNumber в новую таблицу и сохраните таблицу.
Закрой окно представления Design.
Переименуй главную таблицу, а затем переименуй новую таблицу в соответствие с именем главной таблицы.
Сброс поля AutoNumber в таблице со ссылками на таблицы
Таблица со ссылками имеет отношение к одной или нескольких таблицам. Ниже описано, как сбросить поле AutoNumber для таблицы с одной ссылкой. Если в таблице имеется несколько ссылок, необходимо следовать этим шагам для каждой ссылаемой таблицы.
Удалите связь между таблицами.
Установите поле AutoNumber основной таблицы для типа данных Номер, а затем удалите основной ключ.
Создайте новое поле типа данных AutoNumber в главной таблице и сохраните таблицу.
Создайте новое поле типа данных номеров в таблице ссылок, а затем сохраните таблицу.
Чтобы создать запрос обновления, обновляющий новое поле в таблице ссылок на новое поле AutoNumber основной таблицы, выполните следующие действия.
Доступ к версиям 2003 и более ранних версий
Это создает новый запрос.
Это создает соединение между таблицами, основанными на исходных полях ссылок.
Доступ к версиям 2007 и более поздних версий
Это создает соединение между таблицами, основанными на исходных полях ссылок.
Это меняет тип запроса.
Удаление исходного поля ссылок из основной таблицы и со ссылкой.
Revert the name of the new AutoNumber field to the original name.
Повторно создайте основной ключ и связь между таблицами. Эта процедура сбрасывает поле AutoNumber и обновляет таблицу ссылок с помощью правильных ключевых значений.
Как поменять номер в access
Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.7.2008
Репутация: нет
Всего: нет
Советчик
Профиль
Группа: Модератор
Сообщений: 20503
Регистрация: 8.4.2004
Где: Зеленоград
Репутация: 34
Всего: 453


















![]() ![]() |
1. Публиковать ссылки на вскрытые компоненты
2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
[ Время генерации скрипта: 0.0895 ] [ Использовано запросов: 21 ] [ GZIP включён ]





