-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Ошибка 3021 - Текущая запись отсутствует

Вторник, 08 Августа 2017 г. 22:08 + в цитатник
Помогите пожалуйста разобраться и найти возможность устранения ошибки 3021. Пример того как работает моя форма прилагается, разница только лишь в том, что моя форма имеет режим одиночной формы (форма всплывающая), в примере же для удобства форма в режиме ленточная. Надеюсь это не сильно повлияет на суть моей проблемы.

А суть в том, что данная ошибка возникает в ходе проверки аксом на повторяющиеся значения в полях. Таких полей у меня 2.
Смысл моей формы - ввод данных. Форма на основе запроса. Сам запрос построен из 2-х таблиц - основная (содержит записи с заявками) и второстепенная (содержит записи, созданные к заявкам). Каждая из таблиц содержит индексированное поле (но это не счетчик, сразу говорю, поля счетчик в таблицах так же имеются), которое имеет установленное значение "Да (Совпадения не допускаются)" в режиме конструктора.

Форма построена таким образом, чтобы можно было создавать несколько записей к одной заявке. Т.е. вначале создается как бы общая запись, а потом, если возникнет такая необходимость, юзер может добавлять еще, используя кнопку «Добавить». Иными словами, данные для первой табл. уже будут на форме заполнены и юзер будет заполнять поля только для второй табл. Таким образом, функция кнопки «Добавить» осуществляет добавление данных для второй таблицы.
Аксес отлавливает ошибку повторяющегося значения в этих полях, но в случае, когда повторяющееся значение содержится в поле из второй таблицы после отлова аксеса данной ошибки внести исправление уже не получается возможным. Он начинает затирать данные, отображая в полях «#Ошибка», и забрасывать другими сообщениями такого типа как ошибка 3021 - «Текущая запись отсутствует».

Сама ошибка возникает в ситуации, когда нужно осуществить сохранение введенных данных. В процедуре для этой кнопки у меня срабатывает обработчик ошибок, но я не знаю как сделать так, чтобы при срабатывании ошибки не дать возможность "затирать" уже введенные данные в полях на форме?
По-хорошему, чтобы все было грамотно, данную ошибку надо предварительно, заранее отлавливать, но как тогда осуществлять данную проверку для этих полей?
Не могу найти я этот способ, помогите, кто знает как с этим справиться.

http://www.sql.ru/forum/1268355/oshibka-3021-tekushhaya-zapis-otsutstvuet


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку