Hvis du starter med at lave en lave en while løkke som tamper indeholdet ind i en tabel, så kan du bladre den igennem og vælge du nu skal bruge. Hvis du laver en tæller som holder styr på hvor i tabellen den lå, så skulle du på de næste sider kunne refere direkte til denne.
Og selv om du skulle bladre hele tabellen igennem igen så arbejder du i hukommelsen og ikke i databasen, så det burde være meget hurtigere.
Hvis du vil have et "paranoia" chek, så kan du evt. lave count (*) i databasen og sammenligne det med antallet af elementer i din tabel før at du vælger ud fra tabellen - på den måde sikrer du at der ikke tilfældigvis er kommet en ny record i databasen siden du hældte data i tabellen.
'Put db i array Sql = "SELECT ID, Kategori FROM Prod ORDER BY Kategori" Set rs = Conn.execute( Sql )
Dim Array() i = 1
While Not rs.EOF Redim Preserve Array(i) Array(i) = rs("id") & "," & rs("Kategori") i = i + 1 rs.MoveNext Wend 'Her tæller vi antal records Query = "Select count(*) as Antal from Prod" Set Rs=Conn.Execute(Query) Antal = Rs.Fields("antal") %>
'List dropdown <Select Name="DropDown"> <% For i = 1 to Antal id = Instr(array(i),",") Kategori = Mid(array(i),id+1) id = Mid(array(i),1,id-1) %> <option value="<%=ID%>"><%=Kategori%> <%Next%>
</Select>
Jeg ved ikke om det er den optimale, men den virker :-)
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.