27. juli 2007 - 23:55Der er
3 kommentarer og 1 løsning
Tilfældige recordset fra database uden gentagelser
Hej eksperter.
Jeg har en Access database med en omkring 1000 recordset. Jeg skal gerne have fundet 10 tilfældige recordset, hvor der dog ikke må være to magen til hinanden.
Når de er fundet, skal jeg have deres forskellige autonummererings-id gemt i 10 forskellige session. Den ene session("id1"), den næste session("id2") ... session("id10").
Jeg skal så til hver en tid kunne udskrive eksempelvis session("id5") og få et tilfældigt id fra min database. Men der må som sagt ikke være gentagelser af indholdet i mine sessions.
Er det mon noget du kan hjælpe med eller skal jeg uddybe?
allerførst vil jeg lige sige, at det du omtaler som recordset vel er rækker i tabellen - et recordset er en samling af rækker udtrukket fra databasen.
til dit egentlige spørgsmål så kan du gøre noget a la dette;
'connect til database Randomize R = clng(100000*rnd) SQL = "SELECT TOP 10 id FROM tabel ORDER BY rnd(-(id)*" & R & ")" Set rs = Conn.Execute(SQL) If Not rs.eof Then Counter = 0 Do While Not rs.eof Session("id" & Counter) = rs("id") Counter = Counter + 1 rs.movenext Loop End If 'Luk
Som det ser ud lige nu, findes der en session der hedder session("id0") - kan man et sted i koden tilføje et +1, således at den starter fra 1 og slutter ved 10?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.