* Assumes V. 7 for RW cursor, but can emulate in prev versions. SELECT cCodes, .F. AS lSelected ; FROM BigTable ; INTO CURSOR UniqueCodes readwrite ; GROUP BY cCodes lnCodes = _Tally SELECT UniqueCodes * This approach to using RAND() will give randomized numbers, but * the same sequence each time it is run (this is helpful for testing * to determine that changes in execution speed are due to algorithm * changes rather than the distribution of the values). * If you want a different series between runs, you can issue a * preliminary call to RAND (-1) which will seed with a value * from the system time clock. For that, uncomment the line below * = RAND (-1) lnSelected = 0 DO WHILE lnSelected < 110 GO lnCodes * RAND () + 1 IF NOT lSelected REPLACE lSelected WITH .T. lnSelected = lnSelected + 1 ENDIF ENDFOR SELECT cCodes ; FROM UniqueCodes ; WHERE lSelected ; INTO CURSOR SelectedCodesEnjoy!