1. Лучше ошибку обрабатывать через OnError. Это стандартный способ перехвата ошибки. Пример дан в этом файле: http://shops.leadersoft.ru/Product.aspx?ProductID=8718
2. Желательно записи перед добавлением проверять на ввод правильной информации. Например, через dlookup. Это будет лучше, так как на обработку ошибок у Access уходит больше времени.
Спасибо за пример, с проверкой ввода данных я разобралась, а вот с обработкой произвольной ошибки нет.
Если прописать на кнопку сохранения записи:
On Error GoTo 999
Dim Response As Integer 999: MsgBox "Ошибка при добавлении: такая запись уже существует" & vbNewLine ' Отмена стандартного сообщения об ошибке Response = acDataErrContinue Err.Clear 'Очищаем поток от ошибок DoCmd.RunCommand acCmdSaveRecord
то следом за окном с сообщением "Ошибка при добавлении: такая запись уже существует" всеравно выскакивает стандартное сообщение об ошибке. Его можно хотя бы скрыть или запретить вывод на экран? И как это выполнить?
Спасибо.
Эти строчки лишние
Response = acDataErrContinue DoCmd.RunCommand acCmdSaveRecord
Как это строчка "DoCmd.RunCommand acCmdSaveRecord" может быть лишняя, если по нажатию на кнопку форма открывается в режиме добавления?