Public Sub ErrMessage(rStr_Err As String, rStr_Title As String)
Dim lRst_Error As ADODB.Error
Dim lStr_Action As String
Dim lStr_NewLine As String
Dim lStr_Msg As String
Dim lStr_ErrDesc As String
Dim lStr_ErrParts() As String
Dim lInt_Idx As Integer
Dim lStr_ThisErr As String
lStr_Action = "ACTION" & vbTab & ": " & "Please Notify System Administrator"
lStr_NewLine = vbCrLf & vbTab & Space(3)
lStr_Msg = "PROC " & vbTab & ": " & rStr_Title & vbCrLf & vbCrLf & _
"REFER" & vbTab & ": " & rStr_Err & vbCrLf & vbCrLf & _
"ERROR" & vbTab & ": "
If (gADO_Connect.Errors.count > 0) Then
For Each lRst_Error In gADO_Connect.Errors
With lRst_Error
lStr_ErrDesc = vbNullString
lStr_ErrParts = Split(.Description, "]")
For lInt_Idx = 0 To UBound(lStr_ErrParts)
lStr_ThisErr = Trim(lStr_ErrParts(lInt_Idx))
If (Left(lStr_ThisErr, 1) = "[") Then
lStr_ThisErr = lStr_ThisErr & "]"
End If
lStr_ErrDesc = lStr_ErrDesc & lStr_ThisErr & lStr_NewLine
Next lInt_Idx
lStr_Msg = lStr_Msg & lStr_ErrDesc & lStr_NewLine & _
"(Source" & vbTab & vbTab & ": " & .Source & ")" & lStr_NewLine & _
"(SQL State" & vbTab & ": " & .SQLState & ")" & lStr_NewLine & _
"(NativeError" & vbTab & ": " & .NativeError & ")" & vbCrLf
End With
Next
Set lRst_Error = Nothing
Else
With Err
lStr_Msg = lStr_Msg & .Number & " -- " & .Source & lStr_NewLine & .Description
End With
End If
LogError "Error Occurred", lStr_Msg
lStr_Msg = lStr_Msg & vbCrLf & vbCrLf & lStr_Action
CenterTheCursor
MsgBox lStr_Msg, vbExclamation + vbOKOnly, "An Error Has Occurred"
End Sub