Yes you can suppress the default error message. For example to suppress the Access Error message that appears when you delete a record you can do something like this.
Bear in mind I am using custom default error handlers so please place your own in there so you don't generate an error.
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
On Error GoTo DefaultHandler
'* don't display the standard Access error message.
Response = acDataErrContinue
SubExit:
Exit Sub
DefaultHandler:
'* If we run into an error display our form and create an
'* errorlog.txt file. If no error's are detected exit the
'* program.
Select Case Err.Number
'* Handle errors here.
Case Else
Call ShowError(Me.Name, "Form_BeforeDelConfirm", Err.Number, _
Err.Description)
End Select
Resume SubExit
End Sub
Private Sub Form_Delete(Cancel As Integer)
On Error GoTo DefaultHandler
Dim strMsg, Style, Title, UserResponse
Dim Response As Integer
'*Note: This procedure is used to confirm a deletion. Ask the user
'* if they are sure that is what they want to do?
strMsg = "Delete record ..." & vbCrLf & vbCrLf _
& Me("txtid"

& "?" & vbCrLf & vbCrLf _
& "This process cannot be undone." & vbCrLf _
& "Do you want to continue?" ' Define message.
Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons.
Title = "WARNING Just Some Stuff!" ' Define title.
'* Wait here till the user decides what they want to do.
DoCmd.Beep
UserResponse = MsgBox(strMsg, Style, Title)
If UserResponse = vbYes Then ' User chose Yes.
'* The user selected yes so complete the delete
Else
'* The user chose to cancel the delete so restore
'* the record.
Cancel = True
End If
SubExit:
Exit Sub
DefaultHandler:
'* If we run into an error display our form and create an
'* errorlog.txt file. If no error's are detected exit the
'* program.
Select Case Err.Number
'* Handle errors here.
Case Else
Call ShowError(Me.Name, "Form_Delete", Err.Number, _
Err.Description)
End Select
Resume SubExit
End Sub
Life's a journey enjoy the ride...
jazzz