Меню

Access значения счетчиков таблиц

Сброс значения поля счетчика в Access

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Исходный номер статьи базы знаний: 812718

Аннотация

В этой статье приведены пошаговые инструкции по сбросу значения поля счетчика в Access. Значение поля счетчика в Access не сбрасывается автоматически при удалении нескольких строк или всех строк в таблице. Чтобы сбросить значение поля счетчика и обновить значение счетчика в указанной таблице, необходимо вручную выполнить некоторые задачи.

Перед выполнением указанных ниже действий необходимо создать резервную копию базы данных.

Сброс поля счетчика в одной таблице

Если таблица не имеет связей с другими таблицами, используйте метод 1 или 2 для сброса значения поля счетчика.

Способ 1: перемещение данных в новую таблицу с помощью запроса на создание таблицы

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

Доступ к 2003 и более ранним версиям

Чтобы сделать это в Access 2003 или более ранней версии, выполните указанные ниже действия.

  1. Удалите поле Счетчик из основной таблицы и обратите внимание на имя поля счетчика .
  2. Щелкните запросы в левой области, а затем дважды щелкните Создание запроса в представлении конструктора на правой панели.
  3. В диалоговом окне Добавление таблицы выберите основную таблицу, нажмите кнопку Добавить, а затем нажмите кнопку Закрыть.
  4. Дважды щелкните обязательные поля в табличном представлении главной таблицы, чтобы выбрать поля.
  5. Выберите требуемый порядок сортировки .
  6. В меню запрос выберите запрос на создание таблицы, введите имя новой таблицы в текстовом поле имя таблицы , а затем нажмите кнопку ОК.
  7. В меню запрос выберите команду выполнить.
  8. При появлении сообщения «вы хотите вставить # строки в новую таблицу» нажмите кнопку Да , чтобы вставить строки.
  9. В меню файл выберите пункт Закрыть, а затем нажмите кнопку нет , чтобы закрыть окно запроса на создание таблицы .
  10. В левой области щелкните таблицы , щелкните правой кнопкой мыши новую таблицу и выберите команду конструктор.
  11. В представлении конструктора для таблицы добавьте поле счетчика с тем же именем поля, которое вы удалили на шаге 1, добавьте это поле счетчика в новую таблицу и сохраните таблицу.
  12. Закройте окно «представление конструктора «.
  13. Переименование основной таблицы и переименование новой таблицы в качестве имени основной таблицы.

Access 2007 и более поздние версии

Чтобы сделать это в Microsoft Office Access 2007 или более поздней версии, выполните указанные ниже действия.

  1. Удалите поле Счетчик из основной таблицы и обратите внимание на имя поля счетчика .
  2. Перейдите на вкладку создать , а затем щелкните элемент конструктор запросов в другой группе.
  3. В диалоговом окне Добавление таблицы выберите основную таблицу. Нажмите Добавить, а затем Закрыть.
  4. Дважды щелкните обязательные поля в табличном представлении главной таблицы, чтобы выбрать поля.
  5. Выберите требуемый порядок сортировки .
  6. На вкладке конструктор нажмите кнопку создать таблицу в группе тип запроса .
  7. Введите имя новой таблицы в поле имя таблицы и нажмите кнопку ОК.
  8. На вкладке конструктор выберите команду выполнить в группе результаты .
  9. При появлении сообщения «вы хотите вставить # строки в новую таблицу» нажмите кнопку Да , чтобы вставить строки.
  10. Закройте запрос.
  11. Щелкните правой кнопкой мыши новую таблицу и выберите команду представление конструктора.
  12. В представлении конструктора для таблицы добавьте поле счетчика с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле счетчика в новую таблицу и сохраните таблицу.
  13. Закройте окно «представление конструктора».
  14. Переименование основной таблицы и переименование новой таблицы в качестве имени основной таблицы.
Читайте также:  Счетчики гейгера мюллера реферат

Способ 2: создание новой таблицы и перемещение в нее данных с помощью запроса на добавление

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

Доступ к 2003 и более ранним версиям

Для этого в Microsoft Office Access 2003 и более ранних версиях выполните указанные ниже действия.

Удаление поля счетчика из основной таблицы.

Запишите имя поля счетчика .

Скопируйте структуру основной таблицы, а затем создайте новую таблицу.

Щелкните запросы на левой панели. Щелкните создать запрос в представлении конструктора на правой панели.

В диалоговом окне Добавление таблицы выберите основную таблицу. Нажмите кнопку Добавить , а затем кнопку Закрыть.

Чтобы выбрать поля, дважды щелкните обязательные поля. Сделайте это для всех полей, кроме поля счетчика в представлении таблицы основной таблицы.

В меню запрос выберите команду Добавить запрос.

Это изменит тип запроса.

В списке имя таблицы выберите новую таблицу, созданную в шаге 2. Нажмите кнопку ОК.

В меню запрос выберите команду выполнить.

При появлении сообщения «вы хотите вставить # строки в новую таблицу» нажмите кнопку Да , чтобы вставить строки.

В меню файл выберите команду Закрыть. Нажмите кнопку нет , чтобы закрыть окно аппендкуери .

Нажмите кнопку таблицы на левой панели. Щелкните правой кнопкой мыши новую таблицу и выберите команду конструктор.

В представлении конструктора для таблицы добавьте поле счетчика с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле счетчика в новую таблицу и сохраните таблицу.

Закройте окно «представление конструктора «.

Переименование основной таблицы и переименование новой таблицы в качестве имени основной таблицы.

Access 2007 и более поздние версии

Чтобы сделать это в Microsoft Office Access 2007 или более поздней версии, выполните указанные ниже действия.

Удаление поля счетчика из основной таблицы.

Запишите имя поля счетчика .

Скопируйте структуру основной таблицы, а затем создайте новую таблицу.

Перейдите на вкладку создать , а затем щелкните элемент конструктор запросов в другой группе.

В диалоговом окне Добавление таблицы выберите основную таблицу. Нажмите Добавить, а затем Закрыть.

Чтобы выбрать поля, дважды щелкните обязательные поля. Сделайте это для всех полей, кроме поля счетчика в представлении таблицы основной таблицы.

На вкладке конструктор нажмите кнопку Добавить в группе тип запроса .

Это изменит тип запроса.

I в списке имя таблицы выберите новую таблицу, созданную на шаге 2, и нажмите кнопку ОК.

На вкладке конструктор выберите команду выполнить в группе результаты .

При появлении сообщения «вы хотите вставить # строки в новую таблицу» нажмите кнопку Да , чтобы вставить строки.

Читайте также:  Сломался двухтарифный счетчик электроэнергии

Щелкните правой кнопкой мыши новую таблицу и выберите команду представление конструктора.

В представлении конструктора для таблицы добавьте поле счетчика с тем же именем поля, которое вы удалили на шаге 1. Добавьте это поле счетчика в новую таблицу и сохраните таблицу.

Закройте окно «представление конструктора».

Переименование основной таблицы и переименование новой таблицы в качестве имени основной таблицы.

Сброс поля счетчика в таблице со связанными таблицами

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

Удаление связи между таблицами.

Присвойте полю счетчик основной таблице тип данных Number, а затем удалите первичный ключ.

Создайте новое поле с типом данных счетчика в главной таблице и сохраните таблицу.

Создайте новое поле с числовым типом данных в указанной таблице и сохраните таблицу.

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

Доступ к 2003 и более ранним версиям

    Щелкните запросы в левой области, а затем щелкните создать запрос в представлении конструктора в правой панели.

При этом создается новый запрос.

При этом создается объединение между таблицами, основанными на исходных связываемых полях.

Access 2007 и более поздние версии

  1. Перейдите на вкладку создать , а затем щелкните элемент конструктор запросов в другой группе. При этом будет создан новый запрос.
  2. В диалоговом окне Добавление таблицы выберите основную таблицу и указанную таблицу. Нажмите кнопку Добавить , чтобы добавить основную таблицу и указанную таблицу. Нажмите кнопку Закрыть.
  3. Щелкните поле в основной таблице, которое ранее ссылалось на указанную таблицу, а затем перетащите поле в ранее связанное поле указанной таблицы.

При этом создается объединение между таблицами, основанными на исходных связываемых полях.

Это изменит тип запроса.

Удалите исходное связываемое поле из основной таблицы и указанной таблицы.

Вернуть имя нового поля счетчика к исходному имени.

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

Источник

Как получить значение поля счетчика после добавления через rst.AddNew ?

Добрый день всем.

Есть таблица, в ней, само собой, первое поле — Код (счетчик), и несколько других.
Через код VBA добавляю в данную таблицу новую строку (через метод AddNew), заполняю поля, делаю метод Update.
При этом значение поля со счетчиком добавляется само.
Насколько я понимаю, при добавлении текущая строка рекордсета не меняется (проверял через AbsolutePosition).

Вопрос: как мне получить то значение, которое было автоматически присвоено полю Код (счетчик)? Учитывая, что добавленная строка, я так понимаю, не становится текущей (и в учебнике читал, что после метода Update текущей становится строка, которая была текущей до добавления).
Пытался «поймать» это значение в момент ДО обновления — так его на тот момент просто еще нет, я так понимаю.

Думал, может просто после добавления строки сделать MoveLast и взять значение счетчика (ведь строка-то по-любому добавляется в конец таблицы). Но потом подумал, что при многопользовательской работе с базой этот вариант не прокатит, т.к. в это же время другой пользователь может добавить еще строку — и тогда мы получим уже не то значение поля счетчика, которое нужно.

Может, я придумал себе проблему на пустом месте?) Буду признателен за советы.

Как вернуть значение автоинкрементируемого поля Id в таблице, после добавления данных?
Есть метод (недописанный): public int Registration() //этот метод вызовется только 1.

Как узнать значение поля счетчика?
Такая конструкция: strSQL = ‘INSERT INTO documents (document_name,document_desc) ‘ & _.

Получить значение поля после инкримента
Здравствуйте! Мне нужно получить значение поля после инкримента. Например: UPDATE tbl SET.

Решение

Вопрос снимается. Неправильно «ловил» значение. Таки оно добавляется еще до метода Update, и его можно запросто взять.

Добавлено через 1 минуту
mobile, Спасибо, я как раз уже и сделал по первому из тех способов, которые там перечислены. Но все равно полезно почитать про другие.

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

Как получить id после добавления записи?
Вот код где добавляю запись и хочу получить айди. Сердце чует что-то не то делаю:wall: Подскажите.

Добавления нового поля в таблицу БД Access, не могу разместить после первого поля
Собстевнно столкнулся с проблемой размещения поля в таблице. Данная проблема в MySQL решается в.

Как получить id после добавления записи средствами ADO
Здравствуйте, помогите разобраться: после добавления в базу данных записи (TableAdapter.Insert) мне.

Получить значение поля hidden при его изменении через jQuery
Есть на странице кнопка.. которой по нажатию на неё.. инкрементирует одну переменную.. и добавляет.

Источник



Как добавить счетчик в существующую таблицу Access

8 ответов

гхм. когда люди научатся пользоваться справкой
ради интереса полез в справку аксеса и обнаружил следующее

CREATE TABLE Customers (CustId INTEGER PRIMARY KEY, CLstNm NCHAR VARYING (50))

а вообще язык SQL он един.

ALTER TABLE подойдет?

Извините, за вас никто ничего делать не будет!
Вам привели примеры, а как добавить поле счётчик это уже вам решать.
Разберитесь наконец что вам требуется. Поправить существующую таблицу или поправить запрос на создание таблицы!

Предлагаю закрыть тему!

oxotnik333 — спасибо, ALTER TABLE подходит, поле по крайней мере добавляет. Но когда я пытаюсь вставить поле с типом UNIQUEIDENTIFIER — то выдает ошибку «ошибка синтаксиса при определении поля», если же я пишу GUID — то просто создается числовое поле. Как все же вставить поле с типом счетчик?

Спасибо oxotnik333 — еще раз огромное :-). Вопрос решился просто — оказывается есть типы Counter и Identity о которых я не подозревал, и наталкнулся на них чудом в справке.

Valiant — вам надо поспокойнее отвечать на вопросы, а главное их внимательно читать — и не пороть чепуху/огрызаться, чем вызываете мысли о вашей некомпетентности.

А я как первый раз сказал?
ЗЫ: Чудо не болит?

Источник