Как обнулить счетчик в access
Перейти к содержимому

Как обнулить счетчик в access

  • автор:

How to reset an AutoNumber field value in Access

This step-by-step article describes how to reset an AutoNumber field value in Access. The AutoNumber field value in Access does not automatically reset when you delete some rows or all rows in a table. To reset the AutoNumber field value and to refresh the AutoNumber value in the referenced table, you must manually perform some tasks.

You must back up your database before you perform the steps that follow.

Reset an AutoNumber field in a single table

If your table has no relationships to other tables, use either Method 1 or Method 2 to reset an AutoNumber field value.

Method 1: Move the data to a new table using a Make-Table query

You can reset an AutoNumber field value by using a Make-Table query to create a new table that has the same data and then adding a new AutoNumber field.

Access 2003 and earlier versions

To do this in Access 2003 or in an earlier version, follow these steps:

  1. Delete the AutoNumber field from the main table, and note the AutoNumber field name.
  2. Click Queries on the left pane, and then double-click Create query in Design view on right pane.
  3. In the Show Table dialog box, select the main table, click Add, and then click Close.
  4. Double-click the required fields in the table view of the main table to select the fields.
  5. Select the required Sort order.
  6. On the Query menu, click Make-Table Query, type the new table name in the Table Name text box, and then click OK.
  7. On the Query menu, click Run.
  8. When you are prompted by the «You are about to paste # row(s) into a new table» message, click Yes to insert the rows.
  9. On the File menu, click Close, and then click No to close the Make-Table Query window.
  10. Click Tables on the left pane, right-click the new table, and then click Design View.
  11. In the Design view for the table, add an AutoNumber field that has the same field name that you deleted in step 1, add this AutoNumber field to the new table, and then save the table.
  12. Close the Design view window.
  13. Rename the main table, and then rename the new table to match the main table name.

Access 2007 and later versions

To do this in Microsoft Office Access 2007 or in a later version, follow these steps:

  1. Delete the AutoNumber field from the main table, and note the AutoNumber field name.
  2. Click the Create tab, and then click Query Design in the Other group.
  3. In the Show Table dialog box, select the main table. Click Add, and then click Close.
  4. Double-click the required fields in the table view of the main table to select the fields.
  5. Select the required Sort order.
  6. On the Design tab, click Make Table in the Query Type group.
  7. Type the new table name in the Table Name box, and then click OK.
  8. On the Design tab, click Run in the Results group.
  9. When you are prompted by the «You are about to paste # row(s) into a new table» message, click Yes to insert the rows.
  10. Close the query.
  11. Right-click the new table, and then click Design View.
  12. In the Design view for the table, add an AutoNumber field that has the same field name that you deleted in step 1. Add this AutoNumber field to the new table, and then save the table.
  13. Close the Design view window.
  14. Rename the main table, and then rename the new table to match the main table name.

Method 2: Create a new table and move the data to it using an append query

You can copy the structure of your existing table as a new table. You can then append the data into the new table and add a new AutoNumber field.

Access 2003 and earlier versions

To do this in Microsoft Office Access 2003 and in earlier versions, follow these steps:

  1. Delete the AutoNumber field from the main table. Make note of the AutoNumber field name.
  2. Copy the structure of the main table and then create a new table.
  3. Click Queries on the left pane. Click Create query in Design view on right pane.
  4. In the Show Table dialog box, select the main table. Click Add and then click Close.
  5. To select the fields, double-click the required fields. Do this for all the fields except for the AutoNumber field in the Table view of the main table.
  6. On the Query menu, click Append Query.

Note This changes the query type.

Access 2007 and later versions

To do this in Microsoft Office Access 2007 or in a later version, follow these steps:

  1. Delete the AutoNumber field from the main table. Make note of the AutoNumber field name.
  2. Copy the structure of the main table, and then create a new table.
  3. Click the Create tab, and then click Query Design in the Other group.
  4. In the Show Table dialog box, select the main table. Click Add, and then click Close.
  5. To select the fields, double-click the required fields. Do this for all the fields except for the AutoNumber field in the Table view of the main table.
  6. On the Design tab, click Append in the Query Type group.

Note This changes the query type.

Reset an AutoNumber field in a table with referenced tables

A table with referenced tables has a relationship with one or more tables. The steps that follow describe how to reset the AutoNumber field for a table that has one referenced table. If you have more than one referenced table, you must follow these steps for each referenced table.

  1. Remove the relationship between the tables.
  2. Set the AutoNumber field of the main table to a Number data type, and then remove the primary key.
  3. Create a new field of AutoNumber data type in the main table, and then save the table.
  4. Create a new field of Number data type in the referenced table, and then save the table.
  5. To create an update query that updates the new field in the referenced table to the new AutoNumber field of the main table, follow these steps. Access 2003 and earlier versions
    1. Click Queries in the left pane, and then click Create query in Design view in right pane.

    Note This creates your new query.
    Note This creates the join between the tables that is based on the original linking fields.

    Access 2007 and later versions

    1. Click the Create tab, and then click Query Design in the Other group. This creates the new query.
    2. In the Show Table dialog box, select the main table and the referenced table. Click Add to add the main table and the referenced table. Click Close.
    3. Click the field in the main table that was previously linked to the referenced table, and then drag the field to the previously linked field of the referenced table.

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

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

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

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

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

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

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

    Access 2003 и более ранних версий

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

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

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

    Для этого в Microsoft Office Access 2007 или более поздней версии выполните следующие действия.

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

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

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

    Access 2003 и более ранних версий

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

    1. Удалите поле AutoNumber из таблицы main. Запишите имя поля AutoNumber .
    2. Скопируйте структуру таблицы main и создайте новую таблицу.
    3. Щелкните Запросы на панели слева. Щелкните Создать запрос в режиме конструктора в правой области.
    4. В диалоговом окне Показать таблицу выберите таблицу main. Нажмите кнопку Добавить , а затем — Закрыть.
    5. Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, кроме поля AutoNumber в представлении таблицы main.
    6. В меню Запрос выберите команду Добавить запрос.

    Примечание. При этом изменяется тип запроса.

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

    Для этого в Microsoft Office Access 2007 или более поздней версии выполните следующие действия.

    1. Удалите поле AutoNumber из таблицы main. Запишите имя поля AutoNumber .
    2. Скопируйте структуру таблицы main, а затем создайте новую таблицу.
    3. Перейдите на вкладку Создать и выберите Пункт Конструктор запросов в группе Другие .
    4. В диалоговом окне Показать таблицу выберите таблицу main. Нажмите Добавить, а затем — Закрыть.
    5. Чтобы выбрать поля, дважды щелкните необходимые поля. Сделайте это для всех полей, кроме поля AutoNumber в представлении таблицы main.
    6. На вкладке Конструктор нажмите кнопку Добавить в группе Тип запроса .

    Примечание. При этом изменяется тип запроса.

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

    Таблица с таблицами, на которые ссылается ссылка, имеет связь с одной или несколькими таблицами. Далее описано, как сбросить поле «Автонумер » для таблицы с одной указанной таблицей. Если у вас несколько таблиц, на которые ссылается ссылка, необходимо выполнить следующие действия для каждой из них.

    1. Удалите связь между таблицами.
    2. Задайте для поля AutoNumber таблицы main тип данных Number, а затем удалите первичный ключ.
    3. Создайте новое поле типа данных AutoNumber в таблице main, а затем сохраните таблицу.
    4. Создайте новое поле типа данных Number в указанной таблице, а затем сохраните таблицу.
    5. Чтобы создать запрос на обновление, который обновляет новое поле в указанной таблице до нового поля AutoNumber таблицы main, выполните следующие действия. Access 2003 и более ранних версий
      1. Щелкните Запросы в левой области, а затем щелкните Создать запрос в режиме конструктора в правой области.

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

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

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

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

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

      Другие вопросы посетителей из раздела «Бизнес Microsoft Access»:

      Программное обеспечение

      Оборудование

      Служба поддержки
      Размещение рекламы
      info@sotoguide.ru

      Копирование материалов допускается только при указании источника

      Как сбросить счетчик

      Author24 — интернет-сервис помощи студентам

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

      Как это сделать? И как правильно сделать? Чтобы счетчик сбрасывался при удаление. Если я правильно понял.

      94731 / 64177 / 26122
      Регистрация: 12.04.2006
      Сообщений: 116,782
      Ответы с готовыми решениями:

      Как сбросить счетчик записей (ключевое поле)
      В общем есть программа и заполненная база данных. Например есть база преподавателей там идет номер.

      А можно сбросить счетчик?
      Мануал по А2002 от bhv утверждает, что поле с типом данных ‘счетчик’ обнулить нельзя. А нужно. 😉

      epson xp 207 — как сбросить счетчик
      epson xp 207 — как сбросить счетчик Предлогаю обсудить идею по сбросу счетчиков в epson xp 207.

      Как сбросить счетчик для nth элементов?
      Всем привет! Столкнулся с такой проблемой и не могу понять, как ее разрулить. Помогите пожалуйста.

      Как сбросить счетчик триал Cyberlink PowerDirect 9?
      Добрый день! Установку другой программы не предлагать. Истек срок триала, поэтому не могу.

      9270 / 6048 / 2380
      Регистрация: 21.01.2014
      Сообщений: 25,829
      Записей в блоге: 3

      ЦитатаСообщение от Мистер Джек Посмотреть сообщение

      Может это и норм.
      Это правильное поведение

      ЦитатаСообщение от Мистер Джек Посмотреть сообщение

      удалил запись ключи все пересчитались.
      Дичь. И то, что надо что-то удалять, и то, что надо зачем-то ключевое поле переделывать.

      ЦитатаСообщение от Мистер Джек Посмотреть сообщение

      как правильно сделать?

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

      10500 / 5479 / 1380
      Регистрация: 05.10.2016
      Сообщений: 15,520

      ЦитатаСообщение от Мистер Джек Посмотреть сообщение

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

      Это нормально и правильно.
      Мое скромное мнение : Оставьте штатный счётчик в покое — забудьте про него — как бы вы не удаляли и добавляли — его вам хватит на десятки лет.

      Если нужен управляемый номер — создайте для этого отдельное поле и перенумеровывайте как хотите и когда хотите.
      На новой записи так

      НовоеЗначениеЛичногоСчётчика = Nz(DMax("ПолеЛичногоСчётчика", "ИмяТаблицы"), 0) +1

      .
      И да ! — сбросить счётчик можно.

      9270 / 6048 / 2380
      Регистрация: 21.01.2014
      Сообщений: 25,829
      Записей в блоге: 3

      ЦитатаСообщение от Eugene-LS Посмотреть сообщение

      Не, не опоздал. Я не говорил, что счетчик сбросить можно, не показал, что можно для больных перфекционизмом (а кому это еще может понадобиться?) сделать отдельное поле нумерации. Так что у Вас отдельная ветка разговора.

      10500 / 5479 / 1380
      Регистрация: 05.10.2016
      Сообщений: 15,520

      ЦитатаСообщение от D1973 Посмотреть сообщение

      что счетчик сбросить можно
      Сказал «А» — говорю и «Б»
      Сброс счётчика (SQL запрос):

      ALTER TABLE имя_таблицы ALTER COLUMN поле_счетчик COUNTER(1,1)

      Регистрация: 30.08.2022
      Сообщений: 1

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

      10500 / 5479 / 1380
      Регистрация: 05.10.2016
      Сообщений: 15,520

      ЦитатаСообщение от Mahkamjon Посмотреть сообщение

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

      Это вы так пошутили? . не важнецкая — такая шутка.
      6018 / 2846 / 693
      Регистрация: 12.06.2016
      Сообщений: 7,667

      ЦитатаСообщение от Мистер Джек Посмотреть сообщение

      как правильно сделать? Чтобы счетчик сбрасывался при удаление
      Вот совсем недавно другому ТС отвечала.
      Вам тоже подойдет.

      ЦитатаСообщение от Capi Посмотреть сообщение

      поможет только сжатие БД.

      То есть, как только удалили начатую запись,
      так сразу все объекты закрывайте и быстренько БД сжимайте.

      Но пользователи Вас могут и побить за такой, с позволения сказать, алгоритм.

      17488 / 7250 / 1651
      Регистрация: 21.06.2012
      Сообщений: 13,874

      Читать Написание статей ТС так и не научился. Там пара статей есть . . Если «очень надо», то можно добавить в таблицу запись с нужным значением счетчика запросом на добавление. Но «странности» после этого деяния будут.

      433 / 385 / 49
      Регистрация: 06.03.2022
      Сообщений: 2,031

      Мистер Джек, назначение ключевого поля\счетчика-однозначнаая идентификация записи и фсё. Получается что одна и та же запись сегодня имеет один код, а завтра другой. ..А процедура VBA ссылается на код под которым уже другая запись..и пошло-поехало.Читайте книшки,морщите лоб и поймите это:

      ЦитатаСообщение от Eugene-LS Посмотреть сообщение

      Оставьте штатный счётчик в покое — забудьте про него

      Кстати «интересный» вопрос: а если ключевое поле текст(не цифра-вполне допустимо), как Вы будете его «пересчитывать»

      Регистрация: 07.07.2019
      Сообщений: 378

      Я просмотрел все сообщения. И удивляюсь. Разве когда Вы создали базу внесли, удалили, внесли, удалили записи не сколько раз. Код счетчика имеет 2005. Это не нориально я считаю. А если пройдет лет 10 там что запись кода счетчика будет 200000000000000000 это тупо. Про сжатие не понял объясните пожалусто что это такое и как его сделать.

      Сейчас база работает так .

      ФИО
      Иван Иванович Пупкин
      Сергей Ивнович Жуков
      Сайбер Форумом Ру

      Удалили Сергей Ивнович Жуков

      Получили
      Код счетчика.
      0
      2

      Добавили Симсан Гомер

      Получили
      Код счетчика.
      0
      2
      3

      ФИО
      Иван Иванович Пупкин
      Сайбер Форумом Ру
      Симсан Гомер
      —————

      А если прошло говорю 10 лет. Там такой бардак будет. Только не говорите что существует профессия мусорщик БД СЧЕТЧИКА, КОТОРЫЙ ПРИХОДИТ, УДАЛЯЕТ КАЖДЫЙ СЧЕТЧИК И СТАВИТ НОВЫЙ)

      3 Вопроса.
      1. Как сделать автоматически сбрасываемый счетчик?
      2. Что такое сжатие БД и как его сделать?
      3. Как программно задать код. Что бы все работало?

      9270 / 6048 / 2380
      Регистрация: 21.01.2014
      Сообщений: 25,829
      Записей в блоге: 3

      ЦитатаСообщение от Мистер Джек Посмотреть сообщение

      внесли, удалили, внесли, удалили записи не сколько раз.
      А зачем? БД — это не текстовый редактор, там данные хранятся, а не тыркаются туда-сюда.
      Регистрация: 07.07.2019
      Сообщений: 378

      Представьте если это будут гипер магазины продуктовые. Которые хранят тонны инфы и обновляются часто. Или различные букмекерские конторы, которые обновляют инфу чаще чем Вы заварите себе чашечку чая. Или тюрьма строго режима когда нужно часто убирать старых или добавлять новых. Ну или библиотека со своими книгами, которая может продавать книги и принимает новые книги. Вариантов уйма. И когда Вы создали базу и отдали заказчику. Он не знает какой бардак у него там происходит. Нет кнопки сбросить счетчика. Лет через 10 будет там такой барамум что Милле Йовович этого и не снилось.

      Пожалуйста народ я выше написал 3 вопроса ответьте пожалуйста, кто в теме!

      2833 / 1375 / 215
      Регистрация: 13.05.2011
      Сообщений: 4,217

      Те данные, которыми по каким-либо причинам больше нет необходимости пользоваться не удаляются. Потому она и база данных, что в ней должна быть история. Удаляются лишь те данные, которые велись по ошибке и их нельзя исправить. Если, выбыл человек, ну выбыл. Может он через 50 лет приедет. А если не приедет, то можно ввести два поля ДАТА_ВЫБЫТИЯ и ПРИЧИНА_ВЫБЫТИЯ. И в поле где они выбираются установить условие на пустые данные в поле ДАТА_ВЫБЫТИЯ. Так будет правильнее, ихмо.

      6018 / 2846 / 693
      Регистрация: 12.06.2016
      Сообщений: 7,667

      Да какая разница, удаляются записи из БД, не удаляются.

      Дело в том, что ТС приписывает счетчику какую-то магическую роль.
      И на этом зациклился.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *