Oc-windows.ru

IT Новости из мира ПК
12 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access как обнулить счетчик в таблице

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

Исходный номер статьи базы знаний: 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. Переименование основной таблицы и переименование новой таблицы в качестве имени основной таблицы.
Читать еще:  Access now перевод на русский

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать еще:  Http access avorut ru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Access как обнулить счетчик в таблице

Есть база!
Есть много таблиц!
В некоторых таблицах есть поля «Счетчики»!
По ходу разработки базы было много экспериментов!
Счетчики выросли до ужасных значений!
эти поля не знаю как сбросить на 0 или на 55 например.
База состоит из множества запросов связей и т д..
Но все связи не коснутся счетчиков.

От: rameelhttps://github.com/rsdn/CodeJam
Дата:02.01.09 08:37
Оценка:

Здравствуйте, Max1983, Вы писали:

Управление -> Сжать и восстановить базу данных.

От: Max1983http://koksa.net
Дата:04.01.09 13:34
Оценка:

Здравствуйте, rameel, Вы писали:

R>Здравствуйте, Max1983, Вы писали:

R>Управление -> Сжать и восстановить базу данных.

Access 2007 ?
Не нашол!

От: Ромашка
Дата:05.01.09 09:26
Оценка:

Max1983 пишет:
> R>Управление -> Сжать и восстановить базу данных.
> Access 2007 ?
> Не нашол!

На круглую кнопочку вверху нажимал? Шестая сверху менюшка это
«Управление».

Всё, что нас не убивает, ещё горько об этом пожалеет.

От: Max1983http://koksa.net
Дата:05.01.09 21:19
Оценка:

Здравствуйте, Ромашка, Вы писали:

Р>Max1983 пишет:
>> R>Управление -> Сжать и восстановить базу данных.
>> Access 2007 ?
>> Не нашол!

Р>На круглую кнопочку вверху нажимал? Шестая сверху менюшка это
Р>»Управление».

Р>Второй вариант:

Р>

Хорош смеяться над бедным ламером!
Ну и спасибо )

Как «заставить» счетчик начинать нумеровать с произвольного номера и с произвольным инкрементом

Иногда необходимо изменить начальный номер счетчика с которого начинается автоматический отсчет. Просто так в Access это сделать не удастся.

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

Редактировать поле «счетчик» можно разными путями — либо запросом на добавление, либо из кода VBA с помощью объекта Recordset.

Пример с использованием временной таблицы и запроса:

Допустим, у Вас есть таблица 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»)

Учтите только, что если Вы введете число меньше, чем значение счетчика в данный момент, запись добавится, но нумерация все равно будет идти по принципу: максимальное число + 1. Например, у Вас значение счетчика было 333, Вы добавляете запись со значением 222 — запись, конечно, добавится, но все равно счетчик будет продолжать нумеровать 334, 335, 336. т.е. максимальное значение в данном поле + 1.

После удаления всех записей из таблицы, поле счетчик не сбрасывается на единицу, а продолжает последовательно нумеровать и дальше. Поэтому необходимо после очистки таблицы сжать (compact) базу данных. Если из таблицы удалить не все записи, то после сжатия значение поля autonumber при добавлении будет равно максимальному — тому, что уже есть в таблице +1 (Если, конечно, свойство поля счетчик «New Values» установлено в «Increment»). Другой путь сбросить на единицу — удалить поле счетчика и создать его снова в таблице.

Можно использовать мощные инструкции SQL:

‘Есть таблица «Table1» с полем «ID» типа «счетчик»

ALTER TABLE Table1 ALTER COLUMN ID Counter(1,1)

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

Можно сказать, что это малодокументированная команда 😉 с широкими возможностями управления полем типа счетчик.

Команда позволяет задавать для таблицы начальный отсчет ( 1 ,1) и инкремент (1, 1 ). Можно задавать, например, начальный отсчет с 1000 с инкрементом в 10 . Counter(1000,10), причем никаких ограничений не накладывается — можно задавать значение меньшее, чем максимально присутствующее в этом поле, в отличие от примера с использованием запроса. Никаких процедур по сжатию базы для сброса счетчика не требуется. Понятно, что если будет пересечение, т.е. добавляемое значение счетчика уже присутствует в таблице, то механизм индексирования не даст ввести дублирующее значение и вывесит предупреждающее сообщение. Также нельзя таким способом изменить значение счетчика, если поле счетчика (в данному случае ID) участвует в одной или нескольких связях. С другой стороны, что стоит удалить связь, выполнить запрос на изменение счетчика и заново создать связь.

Ссылка на основную публикацию
Adblock
detector