Помогите пожалуйста разобраться и найти возможность устранения ошибки 3021. Пример того как работает моя форма прилагается, разница только лишь в том, что моя форма имеет режим одиночной формы (форма всплывающая), в примере же для удобства форма в режиме ленточная. Надеюсь это не сильно повлияет на суть моей проблемы.
А суть в том, что данная ошибка возникает в ходе проверки аксом на повторяющиеся значения в полях. Таких полей у меня 2.
Смысл моей формы - ввод данных. Форма на основе запроса. Сам запрос построен из 2-х таблиц - основная (содержит записи с заявками) и второстепенная (содержит записи, созданные к заявкам). Каждая из таблиц содержит индексированное поле (но это не счетчик, сразу говорю, поля счетчик в таблицах так же имеются), которое имеет установленное значение "Да (Совпадения не допускаются)" в режиме конструктора.
Форма построена таким образом, чтобы можно было создавать несколько записей к одной заявке. Т.е. вначале создается как бы общая запись, а потом, если возникнет такая необходимость, юзер может добавлять еще, используя кнопку «Добавить». Иными словами, данные для первой табл. уже будут на форме заполнены и юзер будет заполнять поля только для второй табл. Таким образом, функция кнопки «Добавить» осуществляет добавление данных для второй таблицы.
Аксес отлавливает ошибку повторяющегося значения в этих полях, но в случае, когда повторяющееся значение содержится в поле из второй таблицы после отлова аксеса данной ошибки внести исправление уже не получается возможным. Он начинает затирать данные, отображая в полях «#Ошибка», и забрасывать другими сообщениями такого типа как ошибка 3021 - «Текущая запись отсутствует».
Сама ошибка возникает в ситуации, когда нужно осуществить сохранение введенных данных. В процедуре для этой кнопки у меня срабатывает обработчик ошибок, но я не знаю как сделать так, чтобы при срабатывании ошибки не дать возможность "затирать" уже введенные данные в полях на форме?
По-хорошему, чтобы все было грамотно, данную ошибку надо предварительно, заранее отлавливать, но как тогда осуществлять данную проверку для этих полей?
Не могу найти я этот способ, помогите, кто знает как с этим справиться.
http://www.sql.ru/forum/1268355/oshibka-3021-tekushhaya-zapis-otsutstvuet