Per mezzo di questo script:
<html>
<head>
<title>Ordinare i record casualmente</title>
</head>
<body bgcolor="#ffffff">
<%
'Connessione al database
Dim rs, cn, sql
sql = "SELECT * FROM tabella"
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open "DSN=nomeDSN;"
Set rs.ActiveConnection = cn
rs.CursorType = 3
rs.LockType = 3
rs.Open sql, cn
%>
<center>
<%
rs.moveLast
conta = rs.recordCount
conta1 = conta
max = conta
'Necessario inserire un valore massimo
If 50 < conta Then
conta1 = 50
Else
If conta > 10 AND conta < 50 then conta1 = conta1 - 2
End If
str = ","
str1 = ","
Do Until conta1 = 0
'Genero i valori random per la ricerca all'interno del recordSet
'per estrapolare record casualmente
Randomize
RndNumber = Int(Rnd * max)
If (InStr(1, str1, "," & RndNumber & "," ) = 0) Then
str1 = str1 & RndNumber & ","
conta1 = conta1 - 1
rs.moveFirst
rs.move RndNumber
str = str & rs("ID") & ","
End If
Loop
rs.Close
Set rs=Nothing
Set rs = Server.CreateObject("ADODB.Recordset")
'Genero la query random
If sql = "SELECT * FROM tabella" then
sql = "SELECT * FROM tabella WHERE (((InStr(1,'" & str & "',(',' & [ID] & ',')))<>0))"
Else
sql = sql & " AND (((InStr(1,'" & str & "',(',' & [ID] & ',')))<>0))"
End if
Set rs.ActiveConnection = cn
rs.CursorType = 3
rs.LockType = 3
rs.Open sql, cn
%>
<% Do until (rs.eof) %>
<!-- Visualizzo i risultati della query random -->
<%= rs("nomeCampo") %>
<!-- ***************************************** -->
<% rs.MoveNext
Loop
rs.Close
Set rs=Nothing %>
</body>
</html>
è possibile ordinare casualmente i risultati della query effettuata sul database