>>* 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 SelectedCodes >> >>>