PUBLIC mytabs(21) USE table1 ORDER dupechk IN 0 mytabs(1)="table1" USE table2 ORDER dupechk IN 0 mytabs(2)="table2" ...etcetera ... do this 21 times SELE table1 COPY STRU TO duplicates USE duplicates IN 0 EXCL SELECT duplicates INDEX ON STR(gross,12,2)+invoice TAG dupechk FOR i = 1 TO 21 cTable=mytabs(i) SELECT (cTable) SCAN cGross=STR(gross,12,2) cInvoice=invoice IF SEEK(cGross+cInvoice,"duplicates") LOOP ENDIF lIsNewDupe=.F. FOR j = 1 TO 21 IF j=i LOOP ENDIF cCheckTable=mytabs(j) lIsNewDupe=SEEK(cGross+cInvoice,cCheckTable) IF lIsNewDupe EXIT ENDIF ENDFOR SELECT (cTable) IF lIsNewDupe SCATTER MEMVAR SELECT duplicates APPEND BLANK GATHER MEMVAR SELECT (cTable) ENDIF ENDSCAN ENDFOR