I'm using this simple query to use a random sorting on a ms-access database:
SELECT pk FROM TABLE ORDER BY Rnd(pk) asc
And it's working fine when i test it with Microsoft Access 2010
However, when i call this query using classic asp, random sorting doesn't work.
Here's my code:
set Rs = Server.CreateObject("ADODB.Recordset")
Rs.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/dbfolder") & "\dbname.mdb"
Rs.Source = "SELECT pk FROM TABLE ORDER BY Rnd(pk) asc"
Rs.CursorType = 3
Rs.CursorLocation = 2
Rs.LockType = 3
Rs.Open()
do while not Rs.eof
'do stuff
Rs.Movenext
loop
You just need to "salt" your random generator:
Rs.Source = "SELECT pk FROM TABLE ORDER BY Rnd(-Timer() * [pk]) Asc"