The traditional way to do this is to use the database's integrity features, a composite primary key for instance, but it sounds like this is not an option. So maybe use a trigger. You decide which fields constitute a duplicate, let's say first name, last name and post code. Create a trigger that runs on insertions and check whether the data in these three fields already exists in one row in the table. If it does reject the insertion and raise an error.
Joe (Microsoft MVP - XML