---
title: "5 st i slumpning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9251-5-st-i-slumpning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "crisse6"
published: "2001-05-01T11:11:00.000Z"
updated: "2001-05-03T12:21:00.000Z"
replies: 19
views: 346
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/9251-5-st-i-slumpning"
---

# 5 st i slumpning

## #1 — crisse6, 2001-05-01T11:11Z

jag har denna kod som slupar ut en person som är medlem. Jag vill ha den så att den slumpar fram typ 5 st på rad samtidigt så att man lägger dom på rad... som lunarstorm har ungefär....

hej!

Permalänk: https://www.webforum.nu/p/9251

## #2 — Vide, 2001-05-01T12:22Z

Jag skulle skapat en function av det hela, och sedan anropa den fem gånger...

Sedan skulle jag kolla så att det inte förekommer två likadana profiler...

Permalänk: https://www.webforum.nu/p/267598

## #3 — crisse6, 2001-05-01T12:45Z

okej.... ingen som vill visa ett litet exempel...?

Permalänk: https://www.webforum.nu/p/267599

## #4 — LarsG, 2001-05-01T13:12Z

Något att utgå ifrån
 <http://cgi.webforum.nu/wf/Forum11/HTML/000282.html>

Permalänk: https://www.webforum.nu/p/267600

## #5 — crisse6, 2001-05-01T13:47Z

okej, har kollat och tog din lilla kod LarsG, men hur och vad ska man ändra i denna kod för att få den skriva ut te x 6 st som i exemplet? (jag vill ha denna info utskriven; namn, efternamn osv... ) 
(pssst... vill passa på att gratta en av dom grymaste webnissarna jag vet "Emission!", grattis!)

Permalänk: https://www.webforum.nu/p/267601

## #6 — emission, 2001-05-01T19:56Z

Här är en annan variant, som bygger på att tar in ett helt recordset lokalt (släpper kopplingen till databasen), lägger ett slumpvärde i en kolumn, och sorterar på den kolumnen.

```
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.locktype=4
rs.open "SELECT Username,UserID FROM Users",conn
set rs.activeconnection=nothing
conn.Close
do until rs.eof
	randomize
	rs(1)=rnd*1000 ' eller nåt
	rs.movenext
loop
rs.sort="UserID DESC"

rs.movefirst

'loopa ut max 5

do until rs.eof or rs.absoluteposition=5

' gör vad du vill med denna
rs.movenext
loop
```

Permalänk: https://www.webforum.nu/p/267602

## #7 — crisse6, 2001-05-01T20:07Z

tackar! men det blir fel.... vad?

```
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Hämta en länk slumpartat ifrån databasen *****

set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.locktype=4
rs.open "SELECT Username,ID FROM Users",conn
set rs.activeconnection=nothing
conn.Close
do until rs.eof
randomize
rs(1)=rnd*1000 ' eller nåt
rs.movenext
loop
rs.sort="ID DESC"
rs.movefirst

'loopa ut max 5

do until rs.eof or rs.absoluteposition=5

' gör vad du vill med denna
rs.movenext
loop

%>
```

Permalänk: https://www.webforum.nu/p/267603

## #8 — LarsG, 2001-05-01T20:16Z

Du öppnar en connectionobjekt som heter databas, men senare i koden så använder du conn.

Permalänk: https://www.webforum.nu/p/267604

## #9 — crisse6, 2001-05-01T20:23Z

okej, det blev ett annat fel nu bara... denna rad gillar den inte:

```
rs(1)=rnd*1000 ' eller nåt
```

Permalänk: https://www.webforum.nu/p/267605

## #10 — LarsG, 2001-05-01T20:32Z

```
rs(1)=int(rnd*1000) ' eller nåt
```

Vad blir det för fel?

Permalänk: https://www.webforum.nu/p/267606

## #11 — crisse6, 2001-05-02T14:17Z

fel ändå... här är hela koden:

```
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Hämta en länk slumpartat ifrån databasen *****

set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.locktype=4
rs.open "SELECT Username,ID FROM Users",databas
set rs.activeconnection=nothing
databas.Close
do until rs.eof
randomize
rs(1)=int(rnd*1000) ' eller nåt
rs.movenext
loop
rs.sort="ID DESC"
rs.movefirst

'loopa ut max 5

do until rs.eof or rs.absoluteposition=5

' gör vad du vill med denna
rs.movenext
loop

%>
```

Permalänk: https://www.webforum.nu/p/267607

## #12 — LarsG, 2001-05-02T14:35Z

Vilken felkod och feltext får du och på vilken rad inträffar felet?

Eller får du bara inte ut något på sidan? Som det är nu så har du ju ingen utskrift av data.

Permalänk: https://www.webforum.nu/p/267608

## #13 — crisse6, 2001-05-02T16:39Z

okej... det är på raden 

```
rs(1)=int(rnd*1000) ' eller nåt
```

får detta felmedd:

```
Microsoft Cursor Engine error '80040e21' 

Fel uppstod. 

/groda/hehe.asp, line 15
```

Permalänk: https://www.webforum.nu/p/267609

## #14 — LarsG, 2001-05-02T17:25Z

Gjorde en sökning på ditt felnummer hos microsoft. Det fanns en felrapport som nästan stämmer in på beteendet i din kod
 <http://support.microsoft.com/support/kb/articles/Q247/0/29.ASP?LN=EN-US&SD=gn&FR=0&qry=80040e21&rnk=20&src=DHCS_MSPSS_gn_SRCH&SPR=MSALL> 

Där står också att felet är rättat i senare versioner av MDAC så om du inte har senaste så kanske det är dags att ladda hem den.

Permalänk: https://www.webforum.nu/p/267610

## #15 — crisse6, 2001-05-02T21:35Z

vad ska jag ha....? har win98 och pws 4.0 hjälp!

Permalänk: https://www.webforum.nu/p/267611

## #16 — crisse6, 2001-05-02T21:53Z

jag undrar, varför ska jag uppgradera för ett skript som har fungerat när man endast tog fram 1 st slumpning... ? så mkt skillnad är det väl inte? kolla igenom min kod igen, det borde ju finnas fel....eller?

Permalänk: https://www.webforum.nu/p/267612

## #17 — LarsG, 2001-05-02T22:21Z

Nja, just det som jag hänvisade till berodde ju på ett fel i ADO. Så om det är det som ställer till det så räcker det inte med någon ändring i din kod.  

Du kan ju testa lite olika varianter, t.ex. att ange olika locktype eller ha default (dvs utelämna tilldelningen helt). Du kan ju också testa att använda ett extra fält för sorteringen

```
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Hämta en länk slumpartat ifrån databasen *****
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
'rs.locktype=4
rs.open "SELECT Username,ID,1 as EXT  FROM Users",databas
set rs.activeconnection=nothing
databas.Close
do until rs.eof
randomize
rs(2)=int(rnd*1000) ' eller nåt
rs.movenext
loop
rs.sort="EXT DESC"
rs.movefirst

'loopa ut max 5

do until rs.eof or rs.absoluteposition=5

' gör vad du vill med denna
rs.movenext
loop

%>
```

Ett annat alternativ är ju att skriva om det helt ungefär som jag skissade i den andra tråden.

Permalänk: https://www.webforum.nu/p/267613

## #18 — emission, 2001-05-02T22:39Z

"varför ska jag uppgradera för ett skript som har fungerat när man endast tog fram 1 st slumpning... ? så mkt skillnad är det väl inte?"

Jo, det är mycket stor skillnad på hur dessa skript fungerar.

Permalänk: https://www.webforum.nu/p/267614

## #19 — crisse6, 2001-05-03T12:16Z

LarsG \>\> fick detta med din "nya" kod:

```
ADODB.Field error '800a0cb3' 

Åtgärden som programmet begärt stöds inte av leverantören. 

/groda/hehe.asp, line 14
```

line 14:

```
[b]rs(2)=int(rnd*1000) ' eller nåt[/b]
```

Permalänk: https://www.webforum.nu/p/267615

## #20 — crisse6, 2001-05-03T12:21Z

Emission \>\> finns det INGET annat sätt att lösa "5 slumpning" på?

Fråga 2: Vad är det jag ska uppdatera för att få mitt problem löst? Jag kan inte sånna grejer som du LarsG snackade om :)

Permalänk: https://www.webforum.nu/p/267616

---

Tråden på webben: https://www.webforum.nu/amne/asp/9251-5-st-i-slumpning
