sql - 随机排序查询 Access

标签 sql ms-access asp-classic ms-access-2010 server-side

我正在使用这个简单的查询对 ms-access 数据库进行随机排序:

SELECT pk FROM TABLE ORDER BY Rnd(pk) asc

当我用 Microsoft Access 2010 测试它时它工作正常

但是,当我使用经典的 asp 调用此查询时,随机排序不起作用。

这是我的代码:

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

最佳答案

你只需要“salt”你的随机生成器:

Rs.Source = "SELECT pk FROM TABLE ORDER BY Rnd(-Timer() * [pk]) Asc"

关于sql - 随机排序查询 Access ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454825/

相关文章:

ms-access - MS Access 自动编号问题

c# - 将 textbox.text 值与 SQL Server 中的值进行比较

mysql - 子选择还是不子选择?

sql - 如何在 SQL 中请求随机行?

sql - MS Access SQL 选择日期范围

sql-server - 更新 Access 2010 链接表连接

asp-classic - 在服务器上使用JavaScript编写二进制数据

javascript - 在 ASP 中包含 .inc javascript 文件不起作用,只有 .js 可以

asp-classic - 调用函数时出现错误 'variable is undefined'

sql - 如何在sql server 2008中调用标量函数