Access
Purtroppo Access non fornisce la funzione Rand() per cui ci dovremmo arrangiare effettuando 2 SELECT distinte, una per recuperare l’ultimo id inserito e una per estrarre il record random.
Per prima cosa troviamo l’ultimo id inserito
<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open strConn ' da valorizzare
SQL = "SELECT MAX(id) AS MaxId FROM tblProverbi"
set rs = con.Execute(SQL)
If Not rs.Eof Then
MaxId = rs("MaxId ")
Else
MaxId = 0
End If
Rs.Close : Set rs = Nothing
%>
Dopodiché calcoliamo un valore casuale compreso tra 0 e l’ultimo id inserito utilizzando la funzione Rnd()
<%
Randomize
RandomNumber = Rnd * MaxId
%>
Quindi andiamo ad estrarre un record utilizzando il numero appena calcolato:
<%
SQL = "SELECT TOP 1 * FROM tblProverbi WHERE id >= " & RandomNumber
set rs = con.Execute(SQL)
If Not rs.Eof Then
Response.Write rs("id") & " - " & rs("proverbio")
Else
Response.Write "Nessun proverbio da visualizzare"
End If
%>