A little of this depends on how many duplicates you're dealing with, how they were created, and things along that line. If it's thousands, then you'd better have a solution which uses a programmatic option. You could do something with self-join relationships in order to number the duplicates.
If it's a fairly small number of duplicates, it's often easy enough to find the duplicates, sort them so that the duplicated fields are together, then just go through and manually delete duplicates.
So...how many are you dealing with?
Thanks for replying. I have a small example and a medium example.
1. Record set up of 400 with 25% having two or more copies of the same data (1 field: email address)
2. Record set of 40,000 with 25% having anywhere between 2 and 15 copies of the same data (1 field: email address)
Origin of data
Example 1 came from merging older lists, but the merge was badly executed by someone using a spreadsheet who didn't really understand managing data at the simplest level
Example 2 cam from a business with several people in one dept accessing a Sales/CRM facility and not having strict enough data entry policy. As usual we inherited an exported spreadsheet on the assumption that we can just fix it with a magic 'fix' button.
I should also say that my Filemaker skills are not that advanced. I would say I am an 'advanced beginner and my time developiong the little I do in filemaker is very sporadic. So the 'programmatic' (ie anything beyond the simplest of scripts) answers tend to be a challenge to me
In cases like this, "keep it simple" probably applies most. There are all sorts of ways, but given what you've said, I'd probably use one of two scripting methods. Again...there are other, faster ways, for sure.
I'd use the "!" operator to find duplicates in the email address field. Just go into find, type an exclamation point into the field, and hit find. Sort by email address. Then run a script that does the deletions.
PERFECT ON A BACKUP FILE FIRST.
Your script could look something like:
Go to record (first)
If emailaddress = GetNthRecord ( emailaddress ; Get ( RecordNumber ) + 1 )
delete record (no dialog)
go to record ( next ; exit after last )
My apologies for the apparent late reply. I got caught up in another mission.
This worked a treat for me.
Thanks for your help