Returning a random selection

B

Bishop

I'm querying a database with over 1.4 million records. I'm trying to make a
select query that returns a random selection of only 190 records. How can I
do this?

Bishop
 
J

John W. Vinson

I'm querying a database with over 1.4 million records. I'm trying to make a
select query that returns a random selection of only 190 records. How can I
do this?

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.
 
K

KARL DEWEY

SELECT TOP 190 [YourTable].*, Rnd([SomeNumberField])
FROM [YourTable]
ORDER BY Rnd([SomeNumberField]);
 

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