DUPHANDLE() Short: ------ DUPHANDLE() Duplicate record finder with delete/copy options Returns: -------- Nil Syntax: ------- DUPHANDLE([aFields,aDesc],[aOpenIndexes]) Description: ------------ DUPHANDLE() is similiar to DUPLOOK(), but takes a different approach The user is asked to select fields (only Character fields are presented) to check for duplication. The fields selected are combined into an index key, and an index is created. The database is then scanned for duplicates. If a duplicate set is found, a Tbrowse/tag window is popped up, and the user is asked to tag records. This continues until all duplicate sets are found, or the user chooses to quit the process. The user is then allowed to Process the tagged duplicate records. There are 4 possible options: Delete all tagged records Delete all NOT tagged records Copy all tagged records Copy all NOT tagged records The options are not mutually exclusive. For instance, you could copy all tagged records to a history file, and then delete them. As with all SuperLib deletions, the PACKING is left to you. [aFields,aDesc] are optional arrays of fieldnames and field descriptions [aOpenIndexes] is an optional array of currently open index names. Clipper has no way to determine the names of currently open indexes and, since this function creates temporary indexes, the current indexes will be closed. Only by having a list [aOpenIndexes] can we re-open the indexes on exit. Examples: --------- USE customer duphandle() Warnings: ---------- Closes all indexes. Source: ------- S_DUPH.PRG