Du måste nog använda Randomize först, så att slumpgeneratorn får ett frö att jobba utifrån.
[edit] Du kan ju visa lite mer kod, så kanske man förstår hela problemet...
7 svar · 252 visningar · startad av Inferis
Set Rs = Conn.Execute("SELECT top 1 id,rnd AS rand FROM BDE" & strWhere & " ORDER BY 2 ")
Kan denna koden stämma? Jag vill slumpa fram data, men det kommer bara två specifika poster hela tiden.
Hur gör man för att den ska slumpa alla poster? Det finns nu 50 poster i db:n.
Du måste nog använda Randomize först, så att slumpgeneratorn får ett frö att jobba utifrån.
[edit] Du kan ju visa lite mer kod, så kanske man förstår hela problemet...
..vad använder du för databas till detta?
Jag har randomize med. Använder Access.
Det funkar som det ska, men den hämtar bara två poster.
If strPID = "" Then
If Session("onlyvote") > "" And Not Session("onlyvote") = "0" Then strWhere = " WHERE choice=" & Session("onlyvote")
Set Rs = Conn.Execute("SELECT top 1 id,rnd AS rand FROM BDE" & strWhere & " ORDER BY RND() ")
If Not Rs.BOF Then
strPID = Rs(0)
Response.Redirect "default.asp?pid=" & strPID
Else
Response.Redirect "default.asp"
End If
End If
Set Rs = Conn.Execute("SELECT top 1 id, rnd AS rand FROM BDE" & strWhere & " ORDER BY " & CInt(Rnd(1) + 1) & ";"
Så länge du har kvar top 1 kommer den bara att hämta två poster...
Det blir bara två poster även om man tar bort top 1.
Jag löste det genom att använda koden från:
[link]
http://www.webforum.nu/showthread.php?s=&threadid=13153&highlight=slump
[/link]