February 24, 201015 yr This script deletes duplicates... except if the duplicates are the last records in the table. If the last "Go to Record" step is inside the "If" statement, this script deletes all of the last records. If the last "Go to Record" step is outside the "If" statement, it leaves one duplicate! Neither outcome is good. Any ideas? Delete Duplicates Sort Records [ Restore; No dialog ] Go to Record/Request/Page [ First ] Set Variable [ $ID; Value:Table01::ID ] Go to Record/Request/Page [ Next ] Loop If [ Table01::ID = $ID ] Delete Record/Request [ No dialog ] Else Set Variable [ $ID; Value:Table01::ID ] End If Go to Record/Request/Page [ Next; Exit after last ] End Loop
February 24, 201015 yr Sort Records [ Restore; No dialog ] Go to Record/Request/Page [ First ] Loop If [ Table01::ID = getNthRecord( Table01::ID; get( recordNumber) -1) ] Delete Record/Request [ No dialog ] Go to Record/Request/Page [ Previous; NOT Exit after last] End If Go to Record/Request/Page [ Next; Exit after last ] End Loop Delete.fp7.zip Edited February 24, 201015 yr by Guest
February 24, 201015 yr The looping could be completely avoided or rather substituted with a recursive script.... but the efficiency of the algorithm largely depends on the degree of contamination. --sd Delete_sd.zip
Create an account or sign in to comment