Jag vill slumpa fram ett reckordset ur en tabell på något sätt och fick reda på att man skulle kunna göra såhär om man hade en Access-databas:
SQL = "SELECT * FROM Tabell ORDER BY RND(kolumn)"
Första dagen fungerade det utmärkt men nuförtiden får jag nästan alltid bara fram samma post. Jag har ca 110 poster men får den slumpar alltid fram 8:e?? Jag fattar inget?
Jag orövade också med att skriva såhär:
Randomize
SQL = "SELECT * FROM Tabell ORDER BY RND(kolumn)"
Känner dock på mig att den borde stå i SQL-sattsen på något sätt ;)
Någon snäll som vet hur jag kan lösa mitt problem?
Utan att ge mig in på den precisa lösning borde du ju veta hur många poster du skall ta random på. Sedan har random ofta ett fix startvärde. Det kan man ändra på med hjälp av Seed, frö.
Kolla hur du sätter detta.
Det visade sig att efter ett visst antal slumpningar (eller nåt) så cachades slumpningen och samma slumpvärde kom fram... Jag körde dock den senare koden
<%
' Initialize ASP RND() function
Randomize()
intRandomNumber = Int (1000*Rnd)+1
' Return 3 random records
strSQL = _
"SELECT TOP 3 TableID, Field1, Rnd(" & -1 * (intRandomNumber) & "*TableID)" & _
"FROM Table1 " & _
"ORDER BY 3"
Set objRS = objConn.Execute(strSQL)
%>