Solved

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

Posted on 2014-02-04
6
649 Views
Last Modified: 2014-02-05
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
Comment
Question by:jrmcanada2
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 15

Expert Comment

by:gplana
ID: 39834700
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
 
LVL 75
ID: 39834705
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
 

Author Comment

by:jrmcanada2
ID: 39834730
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
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 
LVL 19

Assisted Solution

by:MINDSUPERB
MINDSUPERB earned 200 total points
ID: 39834750
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
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 200 total points
ID: 39834763
"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
 
LVL 19

Expert Comment

by:MINDSUPERB
ID: 39834782
Thanks, Joe.

You are right.

Sincerely,

Ed
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question