Событие Report.Error (Access)

Событие Error возникает при возникновении ошибки во время выполнения в Microsoft Access, когда отчет имеет фокус.

Синтаксис

expression. Ошибка (DataErr, Ответ)

Выражение Переменная, представляющая объект Report .

Параметры

Имя Обязательный или необязательный Тип данных Описание
DataErr Обязательный Integer Код ошибки, возвращаемый объектом Err при возникновении ошибки. Используйте аргумент DataErr с функцией Error , чтобы сопоставить номер с соответствующим сообщением об ошибке.
Отклик Обязательный Integer Параметр определяет, отображается ли сообщение об ошибке. Аргумент Response может быть одной из следующих встроенных констант:
  • acDataErrContinue Проигнорируйте ошибку и продолжайте работу, не отображая сообщение об ошибке Microsoft Access по умолчанию. Вместо сообщения об ошибке по умолчанию можно указать пользовательское сообщение об ошибке.
  • acDataErrDisplay (по умолчанию) Отображает сообщение об ошибке Access по умолчанию.

Возвращаемое значение

Отсутствует

Примечания

Сюда входят ошибки ядра СУБД Access, но не ошибки времени выполнения в Visual Basic или ошибки из ADO.

Чтобы выполнить макрос или процедуру события при возникновении этого события, задайте для свойства OnError имя макроса или [Процедура события].

Выполняя процедуру события или макрос при возникновении события Error , можно перехватить сообщение об ошибке Access и отобразить пользовательское сообщение, которое передает более конкретное значение для приложения.

Пример

В следующем примере показано, как заменить сообщение об ошибке по умолчанию пользовательским сообщением об ошибке. Когда Access возвращает сообщение об ошибке о том, что он нашел дубликат ключа (код ошибки 3022), эта процедура события отображает сообщение, которое предоставляет пользователям дополнительные сведения о приложении.

Чтобы попробовать пример, добавьте следующую процедуру события в форму, основанную на таблице с уникальным идентификатором сотрудника в качестве ключа для каждой записи.

Private Sub Form_Error(DataErr As Integer, Response As Integer) 
    Const conDuplicateKey = 3022 
    Dim strMsg As String 
 
    If DataErr = conDuplicateKey Then 
        Response = acDataErrContinue 
        strMsg = "Each employee record must have a unique " _ 
            & "employee ID number. Please recheck your data." 
        MsgBox strMsg 
    End If 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.