If I understand, you'd want a combination of random function to generate a number, then GoTo to go to that record number. However, you will probably end up with repeats as there'd be no guarantee that you'll not repeat the same record a few times out of several iterations. So then what? Remove the viewed ones from a list? That would require a different approach. An array might work, but if you can remove elements in the middle of an array (the value of the record position you've already viewed), I've never done it so I don't know if you can. It would be simpler to use a staging table (one that you populate with the same records as what is in your primary domain) and run a delete query against the staging table. When you're done testing, just delete any leftover records from the staging table until next time. So you do the GoTo against the records in the staging table. Your button click would have to hide the control, get the record and place the value into the hidden textbox. I suppose a 2nd button to show the textbox would be simple enough.
Forgot to mention that your use of the Rnd function would be against the count of remaining records in the staging table.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.