"Torsten Menzel" <tbm@menzel.dk> skrev i en meddelelse
news:3bfcb282$0$767$edfadb0f@dspool01.news.tele.dk...
> Hej.
> Hvordan laver jeg et random udtræk fra en access db? Jeg skal have vist 3
> forskellige varer på min side. Der er ca 100 varer men de skal altså ikke
> allesammen vises på samme tid.
>
>
> Noget helt andet... Hvergang jeg skal lave et felt til Navn(incl.
> efternavn), Adresse, By....o.s.v. sidder jeg og grubler over hvor mange
tegn
> der skal være plads til. Er der en "Default" længde for disse?
>
> Med venlig hilssen
>
> Torsten Menzel
>
Hej med dig..
<%
'Først skal man selvfølgelig lave hul igennem til databasen.. Det ved du vel
godt hvordan man gør..
'Så skal man tælle hvor mange records der er i tabellen
strSQL = "SELECT COUNT(*) AS Antal FROM tabelnavn"
set rs = Conn.Execute(strSQL)
AntalRecords = rs("Antal")
'Så skal man lave en funktion der laver et tilfældigt nummer mellem 1 og det
antal records der nu er.
Randomize
RndNummer = Int((AntalRecords - 1 + 1) * Rnd + 1)
'Og så skal man bare hente den record fra databasen der har indeks nummeret
RndNummer
strSQL = "SELECT * FROM tabelnavn WHERE id = " & RndNummer
set rs = Conn.Execute(strSQL)
Response.Write "Vare: " & rs("vare")
%>
Dette virker selvfølgelig kun hvis du har indekseret tabellen efter en
kolonne der hedder id og hvis alle numre er der.
Hvis f.eks. record nr 5 mangler og RndNummer bliver 5 laver den jo en fejl.
Ellers må du ud i noget Loop med at den springer over recordsene og trækker
1 fra RndNummer hver gang den gør det, og når RndNummer så er 0 tager du den
record du er nået til. Så får du også en tilfældig record frem.
Hele baduljen skal selvfølelig gentages så mange gange at du har det antal
tilfældige varer du vil have.
--
MK
http://www.msdesign.dk
Professionelt webdesign til fornuftige priser