[AccessD] How to Trap ?Insert Error? (Duplicate record) caused byIndexed Field (No Duplicates)

Rocky Smolin rockysmolin at bchacc.com
Mon Feb 28 19:11:16 CST 2011


I think I'd try the BeforeUpdate event, check for a duplicate in the event,
and if there is, update your tracking table, give a message to the user and
set Cancel = True.  I think.

Rocky
 

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Brad Marks
Sent: Monday, February 28, 2011 4:57 PM
To: Access Developers discussion and problem solving
Subject: [AccessD] How to Trap ?Insert Error? (Duplicate record) caused
byIndexed Field (No Duplicates)

We have an Access table that we want to insert records into (via
DoCmd.RunSQL). 

We have one field Indexed (No Duplicates). 

There is the normal "error handling" set up. 

When we ran tests to ensure that the "No Duplicates" on the Indexed Field is
working, we were was expecting that the normal error-handling would trap the
error. It does not. 

If we have "DoCmd.SetWarnings True" Access displays a pop-up message with
the error message, but we would like to be able to programmatically trap the
error in VBA code. 

We want to keep track of how often there is an attempt to insert a duplicate
record.  The input data is actually coming from another system.  We know
that there will be attempts to insert duplicates, and we know the the "Index
(No Duplicates)" will prevent duplicates from being inserted.  We would like
to be able to trap the error with VBA code so that we can analyze the number
of times that this is happening.   

Is there a way to do this? 

Is there some other "Status Code" available after an insert to indicate if
an insert worked or not (that we can get at with VBA code)?

Thanks, 

Brad




More information about the AccessD mailing list