Может ли сообщение об ошибке "Ошибка вызова ODBC" быть перехвачено и представлено как более дружественное сообщение об ошибке?
У меня есть база данных MS Access со связанной таблицей, указывающей на экземпляр SQL Server через ODBC. Если я пытаюсь вставить строку, которая нарушает ограничение внешнего ключа, я получаю довольно уродливое сообщение об ошибке: "ODBC- сбой вызова" с дополнительными техническими подробностями.
Могу ли я перехватить это сообщение об ошибке и представить пользователю более дружественное объяснение?
1 ответ
Вы можете поместить обработку ошибок на уровне формы, например так:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conDuplicateKey = 3146
Dim strErrMsg As String
Select Case DataErr
Case conDuplicateKey:
strErrMsg = "Record already exists in the database!"
' TODO: add other error codes
Case Else
Response = acDataErrDisplay
End Select
If strErrMsg <> vbNullString Then
MsgBox strErrMsg, vbCritical, Me.Caption
ActiveControl.Undo
Response = acDataErrContinue
End If
End Sub