What is the purpose for marking the duplicate? are you trying to delete the duplicates or just mark them as duplicates in your database?
I've done it using three steps. (there may be other ways to do it, this works for me and is fairly simple.)
1st: Create a tempory table. include two fields. an id field as number datatype, and a [combined] field as text datatype. Set the field [Combined] as the primary key.
2nd: Let's assume your table is called [YourTable]. Were going to create an append query to transfer all the records into your temporary table. You're going to combine all of fields you're trying to find duplicate of into one field. It will look something like this.
When you run the query, you will get errors. this is normal. it's copying only single records to the temp table, no duplicates will be copies because of the primay key.
INSERT INTO TempYourTable ( Combined, ID )
SELECT [Name]+[City]+[ZipCode] AS Combined, YourTable.ID
3rd: Create a query to find any unmatched id's in your first table to your temp table and use an update query to add "Value" to your empty field.
the table can be permanant, just run the two queiries in order when you want to mark your duplicate fields. You can also use this to delete duplicate queiries, by using a delete query instead of an update query.
UPDATE YourTable LEFT JOIN TempYourTable ON YourTable.ID = TempYourTable.ID SET YourTable.Empty = "Value"
WHERE (((TempYourTable.ID) Is Null));