powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
25 сообщений из 58, страница 1 из 3
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32888133
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста - экстренная ситуация, с которой не могу разобраться!
Есть база данных в Access (изначально была в 97-ом, потом вынужденно и неимоверными усилиями перевели её на 2000), в ней есть таблица с такой структурой данных: идентификатор (тип данных: счётчик) и семь текстовых полей. Размер поля счётчика - "длинное целое", новые значения - "последовательные", индексировано (совпадения не допускаются).

При попытке добавления нового значения, с непонятной зависимостью возникает ошибка 3022 (ошибка Microsoft Jet - ядра базы данных, суть которой сводится к тому, что в индексе без совпадений повторений быть не может - не может быть два одинаковых ключа, например, число 23 не может быть ключом в двух строках).

Ошибка эта возникает при добавлении новых записей, при том, что текущее (последнее) значение идентификатора - 1603, общее количество - 1594. То есть получается, что счётчик выдаёт повторяющееся значение (начиная с единицы, которая, понятное дело уже была) а ядро ловит, что это значение уже было и больше повторяться не может.

Вот такая вот хрень. Воспроизводится она и вручную (при обзоре таблицы) и из кода.
В своё время был найден обойти этот идиотизм: скопировать таблицу в новую, новой дать то же имя, подправить связи. Работало до нового повторения и нового натыкания на волшебное число, превышающее long int, определённое в типе данных. Однако сейчас и этот метод перестал работать - я в шоке - что делать не знаю, а завтра нужно это (чужое) творение возращать заказчику.

В интернете искал, везде искал но ничего на этот счёт не нашёл. Ошибка не исправлена вплоть до 3-го сервис пака.

Помогите, пожалуйста - может просто мыслями, на худой конец... Help!
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32888140
Гео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо сказать счетчику, откуда ему надо считать, раз уж заставили его считать сначала:
http://www.sql.ru/faq/faq_topic.aspx?fid=214
Q2, Q3
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32888146
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А грохнуть счетчик и создать его занова не получиться? Надеюсь его предыдущие значения не играли особой роли...
Жизнь не перестает меня радовать!!! Всё павно HL2 игра всех времён и народов
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32888225
NG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я это уже проходил.
/topic/108865&hl=
Не помогают ни перонос данных в другую таблицу, ни запрос на вставку.
Вернее помогают ненадолго, потом все повторяется.
Мое убеждение, что это свойство "леченого" Accessa.
Нашел два решения, но оба вам вряд-ли понравятся:
1) возврат к Access 97;
2) замена плохо "леченой" версии на легальную.
Я использую оба решения - работают безотказно.
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32888232
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ГеоНадо сказать счетчику, откуда ему надо считать, раз уж заставили его считать сначала:
http://www.sql.ru/faq/faq_topic.aspx?fid=214
Q2, Q3

Почему сначала, не сначала - откуда было...
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32888238
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NGЯ это уже проходил.
/topic/108865&hl=
Не помогают ни перонос данных в другую таблицу, ни запрос на вставку.
Вернее помогают ненадолго, потом все повторяется.
Мое убеждение, что это свойство "леченого" Accessa.
Нашел два решения, но оба вам вряд-ли понравятся:
1) возврат к Access 97;
2) замена плохо "леченой" версии на легальную.
Я использую оба решения - работают безотказно.

Всем спасибо за оперативные ответы и предложения.

"Лечен" офи вроде вполне нормальными гуманными способами...
Двигаться по версиям, к сожалению, невозможно...

Если можно - оставь, пожалуйста, свой e-mail или вот мой - xlex0x835[AT]rambler[DOT]ru - хотелось бы выяснить в чём отличия "леченой" от "нелеченой" версии и может что поможет из твоих методов?

Заранее спасибо.

Кстати, по ссылке упоминают про топик, где вроде нашли решение - есть такой или как?
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32888249
NG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Xlex(0x835) "Кстати, по ссылке упоминают про топик, где вроде нашли решение - есть такой или как?
Обрати внимание на даты. С той поры много воды утекло...
Это в процессе лечения казалось, что лекарство найдено. Рецидивы случались многократно. Когда надоело несколько раз в неделю приезжать в офис на лечение базы - первым делом откатил все в А97 и поставил перед руководством вопрос о покупке корпоративной версии А2002/2003. Покупка - дело не быстрое, а между тем упомянутого глюка, при работе в А97 не наблюдалось вплоть до установки лицензионного А2003 в сентябре 2004г. С той поры все крутится без проблем.
"Лечен" офи вроде вполне нормальными гуманными способами...
Я тоже так думал. От чего лечим? От активации? Но ведь вы же напоролись на те-же грабли, что и я - значит лечение не пошло впрок.
Мой адрес есть на форуме.
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889356
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил на другую машину Office 2003, сразу обновил до всего последнего, так этот офис при открытии файла выдаёт только две ошибки: "Your XXX database or project contains a missing or broken reference to the file 'C' version 1.0. \n *To ensure that your database or project works properly, you must fix this reference" и "The Visual Basic for Applications project in the database is corrupt", но зато в "вечном цикле" - то есть нажимаем на кнопку Ok в одном оке - появляется второе, нажимаем Ok во втором - появляется первое. И так далее, пока не кончается терпение и Access не снимается как процесс.

Это понимать как то, что Access считает этот файл вырождением человеческой мысли или как?
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889413
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте пустой новый файл аксесса и мышкой перетаскивайте объекты из старого.
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889578
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-ЛюбительСделайте пустой новый файл аксесса и мышкой перетаскивайте объекты из старого.

После этого странного действа полезли новые ошибки: Type mismatch... Что откуда берётся, если я ничего не менял?
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889584
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889628
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Xlex(0x835)После этого странного действа полезли новые ошибки: Type mismatch... Что откуда берётся, если я ничего не менял?
1 дык DAO само не подключиться,а RecordSet есть как в ней,так и в ADODB
2 считается хорошим тоном приводить не только код ошибки,но и контекст в котором она(ошибка) возникает
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889710
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shuhard Xlex(0x835)После этого странного действа полезли новые ошибки: Type mismatch... Что откуда берётся, если я ничего не менял?
1 дык DAO само не подключиться,а RecordSet есть как в ней,так и в ADODB
2 считается хорошим тоном приводить не только код ошибки,но и контекст в котором она(ошибка) возникает

Знаю, но база данных не моя, и я не готов сказать что там и откуда... В любом случае - пардон, привожу более подробную информацию.
Ошибка возникает (после реализации совета о пересоздании базы данных, перетаскиванием объектов по одному) при нажатии на кнопку в одной форме (это действие должно вызвать появление второй формы). Debugger останавливает на строчке:
Set rst = CurrentDb.OpenRecordset("date_updt")
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889723
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лох Позорныйчитайте фак

http://www.sql.ru/faq/faq_topic.aspx?fid=213

Видимо, имеется ввиду этот пункт:
Q13: На команды с объектом Recordset выдается ошибка о несоответствии типов.
A: Пиши не просто Recordset, а DAO.Recordset. А также: DAO.Database и т.д.

А как он ко мне применим (строка кода приведена в сообщении выше)?
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889734
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shuhard
1 дык DAO само не подключиться,а RecordSet есть как в ней,так и в ADODB

Извиняюсь, а что это значит (для тех, кто в большей степени знаком с MySQL и PostgreSQL)?
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889862
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в любом программном модуле - tools - references
DAO - оставить
ADO - отключить
или везде по тексту расставить префиксы DAO
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32889972
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shuhardв любом программном модуле - tools - references
DAO - оставить
ADO - отключить
или везде по тексту расставить префиксы DAO

Спасибо - это решило проблему с Type mismatch, но изначальная проблема так и осталась... =(
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890052
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть Вам удалось за 34 минуты повторить сбой ?
если да - то создайте макет из одной таблицы и формы с удивительным кодом,сожмите ,сархивируйте и к нам на конфу.
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890083
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shuhardто есть Вам удалось за 34 минуты повторить сбой ?
если да - то создайте макет из одной таблицы и формы с удивительным кодом,сожмите ,сархивируйте и к нам на конфу.

Сбой никуда и не уходил - он есть... =( Причём остаётся даже если пересоздовать счётчик - первый раз срабатывает, второй - гарантированно выдаёт ошибку.

Я бы с удовольствием переслал бы, но файл размером в 34 метра и написан через такую ж... (ненормализованные структуры таблиц, повторение данных, куча лишнего ненужного кода и данных, база данных, как я относительно недавно выяснил, даже никогда скомпилироваться не могла), так что выделить оттуда кусок, не думаю, что смогу... =(
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890099
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нам нужна одна пустая таблица и одна форма(если гадиться вводом данных в таблицу - то хватит только ее)
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890146
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shuhardнам нужна одна пустая таблица и одна форма(если гадиться вводом данных в таблицу - то хватит только ее)

В аттаче - файл с единственной таблицей (демонстрирующей ту самую ошибку). Это уже "загаженная" таблица, то есть в том виде, в котором ошибка воспроизводится и в ручную.

Что нужно сделать: открыть файл с зажатым шифтом, в таблицах выбираем единственную cars, идём в конец и во второе (единственное, разрешённое для добавления) поле пытаемся что-то добавиться - тут же в счётчике получаем повторяющееся значение и тут же сообщение, что этого быть не может... =/

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

Заранее спасибо.
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890185
посмотрел.
сделай вот что
1) встань на свою таблицу и кликни правой клавишей мыши, выбери
"копировать"
2) кликни еще раз и выбери вставить.-> только структура
имя новой таблице дай cars2
3)на странице запросов создай и выполни запрос следующего текста
INSERT INTO cars2
SELECT cars.*
FROM cars

потом удали старую таблу и переименуй новую.

ЗЫ
лень искать, но в ФАКе оно точно было
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890201
Xlex(0x835)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
смотрелкинпосмотрел.
сделай вот что

Спасибо за совет - сделал.
Всё прошло нормально - в новой таблице (второй) могу добавлять - всё нормально. Переименовываю её в cars - проверяю - всё нормально. Запускаю форму выполняю пасы руками (как обычный пользователь) и мне говорят всё то же самое - дублирующееся значение в индексе... После чего добавление значений руками приводит к тому же результату, что приклёплён в аттаче выше - руками добавление тоже не проходит... =(
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890210
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем у Вас счетчик с 0 начинается - сделал с 1 - не ломается
...
Рейтинг: 0 / 0
Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
    #32890212
Shuhard же говорил - с больной формой вали
:))
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 1 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access (2000/2002) - неуникальные значения счётчика, ошибка 3022
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]