How do I get random records ?

  • Thread starter Thread starter Simon
  • Start date Start date
S

Simon

Does anyone know how to retrieve a given number of random
records from an Access database in SQL ?
Thanks.
 
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.
 
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.


.
 
Back
Top