Best way to handle KeyViolation??

New to paradox. What's the best method to handle key violation?

On append record, you can table1.cancel any changes based on user
input. But checking to be sure that the user did not enter a unique
field with a duplicate entry is my problem. I could bookmark the
location and findkey, but I believe this will post the record. I could
also disengage the component from the database and seek before apending,
but this also creates a lot of coding. I noticed that the BDE presents
its own error message. What's the best method?

Thanks in advance.