Here we go.
I don’t know your file nor fields, so I use some dummy fields.
Let’s say you have following fields:
nameFirst
nameLast
zipCode and
telephoneNumber
You need a ‘sameRecord_cti’ (_cti = calculated, text, indexed) field, this will be based on several criteria, each separated by a carriage return. This is the MultiKeyField.
The calculation can be :
nameFirst & “ “ & nameLast & “¶” &
nameFirst & “ “ & Left(nameLast; 3) & “¶” &
Left(nameFirst; 1) & “ “ & “ “ & nameLast & “¶” &
nameLast & “ “ & zipCode & “¶” &
Left(nameLast; 3) & “ “ & zipCode & “¶” &
nameLast & “ “ & Right(telephoneNumber; 4)
And you need a self join relationship sameRecord_cti = sameRecord_cti.
By placing the portal based upon this relationship on a layout you can ‘see’ all the duplicates and also the possible similar records. Place some dedicated fields from the record in the portal to recognize the data.
You have to play with the values in the calculationfield to make it to your needs.
By placing a portal on the layout, all similar records may be shown at once. Once listed,you may provide applicable options/solutions to the similar records -- ie delete, edit flag, etc, etc. It is up to you to decide the appropriate method.
If you don’t have ‘room’ on the input layout, you could place one mergefield on the layout, with a calculation (text) along these lines:
Case(
Count( sameRecord_cti::RecordID ) = 1; "";
"Similar Records (" & Count( sameRecord_cti:: RecordID ) & ")"
)
This will generate a text field with a message Similar Records (x), where (x) will be the number of records in the portal. Redirect the user to the layout where the portal is for further action.
Your actual record will also be in the portal, so it’s best to highlight that portalrow, to prevent bad things would happen to it.
If you need more details, feel free...
HTH