How do I get random records ?

S

Simon

Does anyone know how to retrieve a given number of random
records from an Access database in SQL ?
Thanks.
 
J

John Vinson

Does anyone know how to retrieve a given number of random
records from an Access database in SQL ?
Thanks.

<chuckle> Just answered this in a message posted to this same
newsgroup about 15 minutes before yours.

You can use the Top Values property of a query, with help
from a little VBA. Put this little function into a Module:

Public Function RndNum(vIgnore As Variant) As Double Static
bRnd As Boolean If Not bRnd Then 'Initialize the random
number generator once only bRnd = True Randomize End If
RndNum = Rnd() End Function

Then add a calculated field to your Query by typing

Shuffle: RndNum([fieldname])

in a vacant Field cell, where [fieldname] is any field in
your table - this forces Access to give a different random
number for each record.

Sort the query by Shuffle, and set its Top Values property
to the number of records you want to see.
 
S

Simon

sir, you are an absolute star !
Thank you very much; it's really appreciated.
-----Original Message-----
Does anyone know how to retrieve a given number of random
records from an Access database in SQL ?
Thanks.

<chuckle> Just answered this in a message posted to this same
newsgroup about 15 minutes before yours.

You can use the Top Values property of a query, with help
from a little VBA. Put this little function into a Module:

Public Function RndNum(vIgnore As Variant) As Double Static
bRnd As Boolean If Not bRnd Then 'Initialize the random
number generator once only bRnd = True Randomize End If
RndNum = Rnd() End Function

Then add a calculated field to your Query by typing

Shuffle: RndNum([fieldname])

in a vacant Field cell, where [fieldname] is any field in
your table - this forces Access to give a different random
number for each record.

Sort the query by Shuffle, and set its Top Values property
to the number of records you want to see.


.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top