• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 733
  • Last Modified:

Override Access's default error message when a duplicate value is entered

I have a users form based on a users table where the primary key is the username. I'd like to add code to give my own error message when a duplicate username is entered instead of Access's default error message.

Is it preferable to put this code in the BeforeUpdate event of the control or the form? Or somewhere else?

Can anyone provide me with sample code?

Thank you!
0
jrmcanada2
Asked:
jrmcanada2
2 Solutions
 
gplanaCommented:
I would put on the before insert of form (and also before update if your users can change the username of an existing record.

Normally control events looks for things like format and form events look for things like duplicates, so put it on the form level.

Hope it helps. Regards.
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
The Duplicate Error is only rendered in the Form Error event. Consequently, you will need to trap that error number there, wherein you can display your own error message.
Note that Errors rendered in the Form Error event occur before the Before Update event.

mx
0
 
jrmcanada2Author Commented:
Thanks for the suggestions so far. Allow me to be a little clearer about what I'm looking for.

If someone duplicates a username (either by entering a new duplicate or changing an existing one), I'd like to pop up an error message of my own. I currently have no preference if the warning pops up as soon as the duplicate is entered or if it pops up when Access tries to update the table (either through a save button, switching records, or closing the form).

At no point do I want to see Access's error message.

So my questions are:

1. Is it better to display the warning as soon as the duplicate is entered or to display it when the form attempts to update the record?

2. Can someone provide me with an appropriate code sample?

Thanks again!
0
Restore individual SQL databases with ease

Veeam Explorer for Microsoft SQL Server delivers an easy-to-use, wizard-driven interface for restoring your databases from a backup. No expert SQL background required. Web interface provides a complete view of all available SQL databases to simplify the recovery of lost database

 
MINDSUPERBCommented:
Hello jrmcanada2,

You may use a similar code below on the BeforeEvent in your username textbox:

If DCount("Username", "tblSample", "[Username]= '" & Me.Username & "'") > 1 Then

MsgBox "Username is duplicated."
DoCmd.CancelEvent

Else

"Your Code"

End If

Sincerely,

Ed
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
"as soon as the duplicate is entered"
Yes.

The code posted above should, except ... the count will never be >1 because no duplicates will be allowed, so the code s/b:

If DCount("Username", "tblSample", "[Username]= " & Chr(34) & Me.Username & Chr(34) ) = 1 Then

MsgBox "Username is duplicated."
DoCmd.CancelEvent

Else

"Your Code"

End If
0
 
MINDSUPERBCommented:
Thanks, Joe.

You are right.

Sincerely,

Ed
0

Featured Post

Microsoft Certification Exam 74-409

VeeamĀ® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now