In general, you should never have a situation where you are attempting to insert a duplicate unique key. You can make sure of this by maintaining a table of keyvalues for your tables and call a routine to get the next available keyvalue for a particular table. If you want to reuse deleted records you can set deleted off and scan for the first deleted record, then do a recall and replace all the fields except the key or whatever else you want to keep. If there are no deleted records available, get a new keyvalue and insert.
Eric Kleeman - EDS Consulting Services
MCP Visual FoxPro
MCSD C#.NET
Hua Hin Thailand
Los Angeles California