I had to do something very similar once. Try this:
Formula 1 in the report header, this formula will also show the record numbers selected.
WhilePrintingRecords;
Numbervar Array array1;
Redim array1 [6];
Local NumberVar i;
For i := 1 to 3
Step 1
Do( array1 := 1+Truncate (RND()*Count({Customer.Customer ID}))) ;
Totext (array1 [1],0) + '-' +
Totext (array1 [2],0) + '-' +
Totext (array1 [3],0)
The conditional suppression formula to suppress those records not randomly selected:
WhilePrintingRecords;
NumberVar Array Array1;
not (RecordNumber = Array1)
I suppose you could take this farther and do more testing in case a number was randomly picked twice.
Let me know if you have any questions.
Software Sales, Training and Support for Macola, Crystal Reports and Goldmine
dgilsdorf@mchsi.com