powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отключить сообщение об ошибке
7 сообщений из 7, страница 1 из 1
отключить сообщение об ошибке
    #32472000
при программном добавлении записи в таблицу, на
строчке
rst.update выдается ошибка что запись не добавлена из-за того что запись с таким ключом уже есть
как отключить это сообщение, но так чтобы остальные сообщения об ошибках - выдавались ?

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
отключить сообщение об ошибке
    #32472007
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
docmd.setwarnings false
rst.update
docmd.setwarnings true
...
Рейтинг: 0 / 0
отключить сообщение об ошибке
    #32472030
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или же типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private sub zzz()
on error goto zzz_err
...
rst.update
...

zzz_err:
if err.number =  0  then exit sub
if err.number = НомерОшибкиГенерируемыйАпдейтом then resume next

end sub
...
Рейтинг: 0 / 0
отключить сообщение об ошибке
    #32472404
а если имя ошибки не 0 и не та которая генерируется апдейтом что произойдет ?
он же не выдаст ошибки, а просто выйдет из процедуры, а мне нужно чтобы эта ошибка обрабатывалась как и раньше (т.е. с сообщением)
...
Рейтинг: 0 / 0
отключить сообщение об ошибке
    #32472513
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь подразумевается следующее:

Если возникает любая ошибка, то передаем управление блоку zzz_err...

zzz_err:
Если номер текущей ошибки равен нулю, т.е. ее нет вообще - завершить процедуру...
Номер ошибки, который сгенерирует апдейт я не помню, поэтому написал "НомерОшибкиГенерируемыйАпдейтом" (допустим он равен 666)...то тогда вторая строка блока обработки ошибок:
Если номер текущей ошибки равен 666, т.е. апдейт - продолжаем выполнение процедуры со следующей строки посли строки, которая вызвала ошибку...

Поясняю, зачем в этом блоке нужна первая строка с нулем:
Этот блок zzz_err выполняется после завершения основной процедуры, т.к. обработка идет построчно....ну, а чтобы избежать его выполнение - я и добавил эту строку, т.е. теперь этот блок будет выполняться только при наличии ошибки...

Кстати это блок написан навскидку - его можно и дописать...допустим если номер ошибки не равен 666 и 0 - то мсгбокс ерр.нумбер & ерр.дискрипшн...
...
Рейтинг: 0 / 0
отключить сообщение об ошибке
    #32472756
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
private sub zzz()
on error goto zzz_err
...
rst.update
...

exit sub
zzz_err:
if err.number <> НомерОшибкиГенерируемыйАпдейтом then msgbox...
resume next

end sub
...
Рейтинг: 0 / 0
отключить сообщение об ошибке
    #32473405
понятно, всем большое спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отключить сообщение об ошибке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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