Меню

Microsoft 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. Щелкните поле в основной таблице, которое ранее ссылалось на указанную таблицу, а затем перетащите поле в ранее связанное поле указанной таблицы.

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

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

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

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

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

Источник



Microsoft access как сбросить счетчик

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


CFi ( 2007-11-01 23:10 ) [1]

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


Anatoly Podgoretsky © ( 2007-11-01 23:19 ) [2]

Простой вопрос — сколько записей добавляется в сутки?


DVM © ( 2007-11-01 23:42 ) [3]


> и счетчик блин может так достичь очень большого числа

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


sniknik © ( 2007-11-01 23:44 ) [4]

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

DVM © (01.11.07 23:42) [3]
не вырастет, т.к.
> . постоянно добавляются и и из нее удаляются
а от удаленных он место повторно использует


CFi ( 2007-11-01 23:48 ) [6]

Блин все это так, но все-таки хочеься цивильно чтобы было, что пря м никак вообще нельзя програмно обнулить?


Anatoly Podgoretsky © ( 2007-11-01 23:51 ) [7]

> CFi (01.11.2007 23:48:06) [6]

Ты замалчиваешь насчет количества новых записей в день.


DVM © ( 2007-11-01 23:51 ) [8]


> sniknik ©


> а от удаленных он место повторно использует

Использует ли? Не уверен.


sniknik © ( 2007-11-01 23:52 ) [9]

почему нельзя? можно, см. хелп по alter table . , только бессмысленно это, хотелось бы смысл «цивильности» понять, а то получается нецивильно программы пишу.

> DVM (01.11.2007 23:51:08) [8]

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


sniknik © ( 2007-11-01 23:53 ) [11]

> Использует ли? Не уверен.
проверь. или поверь.


DVM © ( 2007-11-01 23:54 ) [12]


> Мое наблюдение, что неиспользует

Тогда счетчик максимума не достигнет никогда, если сжатие не выполнять. Быстрее файл достигнет 2 гб.


Anatoly Podgoretsky © ( 2007-11-01 23:56 ) [13]

> DVM (01.11.2007 23:54:12) [12]

Сжатие надо постоянно выполнять, при напряженной работе размер растет стремительно, по наблюдениям за Access 97/2000


CFi ( 2007-11-01 23:57 ) [14]

На счет Alert Table — это хорошая мысль, только каждый раз создавать новую таблицу, тоже гемор, хотя все-таки мысль хорошая


> CFi (01.11.07 23:57) [14]

мысль хорошая — но не цивильная ))


sniknik © ( 2007-11-02 00:23 ) [16]

> Тогда счетчик максимума не достигнет никогда, если сжатие не выполнять. Быстрее файл достигнет 2 гб.
достигнет. попробуй всетаки поверить, место используется. не линейно типа если есть то обязательно надо занять (с минимизацией места), а тогда когда движку это покажется выгодней (с максимизацией скорости).

> по наблюдениям за Access 97/2000
97-й давно пора из наблюдений исключить, особенно после того как мелкософт признал, что в нем серьезные недостатки и рекомендовал если уж и использовать то с 2000го минимум.

> мысль хорошая — но не цивильная ))
точно не цивильная.

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


Anatoly Podgoretsky © ( 2007-11-02 00:24 ) [17]

> sniknik (02.11.2007 00:23:16) [16]

А где я найду 2003 для наблюдения.


Anatoly Podgoretsky © ( 2007-11-02 00:26 ) [18]

> sniknik (02.11.2007 00:23:16) [16]

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


sniknik © ( 2007-11-02 00:26 ) [19]

> А где я найду 2003 для наблюдения.
2000-го достаточно.


Anatoly Podgoretsky © ( 2007-11-02 00:28 ) [20]

> sniknik (02.11.2007 00:26:19) [19]

Вопрос стоит иначе, где я Акцесс вообще возьму, я последний раз видел его в 2000 году.


sniknik © ( 2007-11-02 00:46 ) [21]

а зачем вообще access? (я уж забыл когда его открывал ) винда есть? щелкнуть правой клавищей мыши на рабочем столе, в «создать» выбрать «Приложение Microsoft Office Access» (должно быть, если нет то сделать через интерфейс настройки DSN ODBC) на крайний случай можно через Jro или Dao сделать базу.
дальше через ADO выполнять запросы (дельфи то есть?).

кстати проверил 97й он в этом плане тоже нормально работает, использует место повторно.


DVM © ( 2007-11-02 10:54 ) [22]


> sniknik ©

Я тоже проверил. Правда я совсем примитивный пример накатал — чисто добавление удаление, но вроде файл не растет.


sniknik © ( 2007-11-02 11:19 ) [23]

> Правда я совсем примитивный пример накатал
я совсем не «катал», просто в уже готовой программке для тестов запросов записал чтото большое (копию таблицы), предварительно до теста упаковав базу конечно (точка отсчета), потом удалил это, вышел посмотрел размер, после повторил «запись того же большого», вышел, размер тот же (примерно, разница в несколько килобайт, при общем приросте от первого на

200 мег (такая таблица была максимальная)). что было бы невозможно если бы не использовалось место из под удаленного.


Anatoly Podgoretsky © ( 2007-11-02 13:02 ) [24]

> sniknik (02.11.2007 11:19:23) [23]

Для чистоты эксперимента стоит еще проверить обновление, самое простое fld=fld
Ну и могут быть различия, выполнять в Акцесс или во внешнем приложение, кроме того Микрософт наверно тоже на месте не стоял, с 97 до 2007 прошло много времени. В 97 размер катастрофически увеличивался и при том не при добавление/удаление.


sniknik © ( 2007-11-02 13:55 ) [25]

> Для чистоты эксперимента стоит еще проверить обновление, самое простое fld=fld
нафиг еще проверки. работать тоже надо. (я для себя уже на проверялся достаточно, а убеждать когото цели нет, кто хочет/нужно сам проверит. или пусть просто верит)
вообще, у нас клиенты кое кто по два года упаковок не делали, просто не знали как/зачем (в проге есть кнопка «упаковать», но им ее не показали. ) и ничего страшного не случалось, переполнений базы не возникало хотя если посчитать все проходные/временные данные побывавшие в базе то там не то что 2 там 200 гигов превысит. показатель однако.

> выполнять в Акцесс или во внешнем приложение
все что я говорил это относится к внешним приложениям (Jet), про то что будет в самом access-е ничего сказать не могу (предполагаю что тоже самое, но без гарантий), я с ним не работаю практически.

> и при том не при добавление/удаление.
в 2000 и 2003 тоже может быть не при добавлении, а на «простом» селекте с джойнами, чтото ему изза объединений нужно, какие дополнительные рабочие пространства. но они тоже после будут использованы если выделились


Anatoly Podgoretsky © ( 2007-11-02 14:09 ) [26]

> sniknik (02.11.2007 13:55:25) [25]

Источник