---
title: "10 slumpvalda tal"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45743-10-slumpvalda-tal"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "david"
published: "2002-06-12T21:45:58.000Z"
updated: "2002-06-13T20:44:12.000Z"
replies: 5
views: 324
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/45743-10-slumpvalda-tal"
---

# 10 slumpvalda tal

## #1 — david, 2002-06-12T21:45Z

Jag vill ha ut 10 st slumpade, unika tal som motsvarar ID:n i en databas. Vill alltså få ut 10 st unika, slumpvalda, rader ur en databas i Access. Har kollat runt här i forumet, men har inte fått något att fungera.

Har alltså en DB med fälten 'ID' och 'Fraga'. Det finns totalt ca 20 poster i databasen, med ID från 1 - 20. Men Detta kan komma att ändras om någon fråga tas bort. Vill alltså slumpa ut värdet i 'Fraga' tio gånger utan att 'Fraga' upprepar sig.

Puhhhh!

Är det någon som är haj på detta och har lust att hjälpa mig lite? :birp

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

## #2 — solbulle, 2002-06-12T22:03Z

<http://www.webforum.nu/showthread.php?s=&threadid=44773> ;)

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

## #3 — PatrikB, 2002-06-13T06:11Z

SEEK and You will find ......

<http://www.webforum.nu/search.php?s=&action=showresults&searchid=52393&sortby=lastpost&sortorder=descending>

<http://www.webforum.nu/showthread.php?s=&threadid=11847&highlight=slumpa+and+poster>

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

## #4 — david, 2002-06-13T08:22Z

Hej igen!

Har ju försökt men inte fått något att fungera. Jag är väl lite dum i huvet eller så jobbar jag för mycket. PatrikB, du verkar ha lite koll, försökte ladda ner ditt script clsArray, men din domän verkar vara nere...

Du har inte lust att maila den till mig på <david.hagg@home.se>?

Tack tack!

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

## #5 — david, 2002-06-13T09:04Z

Har fått det att fungera ungefär som jag vill ha det. Ett problem kvar bara: en post får bara förekomma en gång.

```
<%
for i = 0 to 9
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb")

Set rsCount = Connection.Execute("SELECT Count(ID) AS intWordCount FROM tabell")
intWordCount = rsCount("intWordCount") - 1
rsCount.Close
Set rsCount = Nothing

Set rsOrd = Connection.Execute("SELECT * FROM tabell")
arrOrd = rsOrd.GetRows()
rsOrd.Close
Set rsOrd = Nothing

Randomize
intRndOrd = rnd() * intWordCount

'** ID skrivs arrOrd(0,Round(intRndOrd))
Response.Write arrOrd(1,Round(intRndOrd)) & "&nbsp;&nbsp;"
Response.Write arrOrd(2,Round(intRndOrd)) & "<br>"

Connection.Close
Set Connection = Nothing
next
%>
```

 

Någon som vet hur man kan spara att ett ID redan har visats en gång och därmed hoppa över detta ID?

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

## #6 — david, 2002-06-13T20:44Z

Har äntligen fått det att fungera som jag ville, efter många timmars knackande på det numera söndernötta tangentbordet!

```
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")

Set rsCount = Connection.Execute("SELECT Count(ID) AS intWordCount FROM Fraga")
intWordCount = rsCount("intWordCount") - 1
rsCount.Close
Set rsCount = Nothing

Set rsOrd = Connection.Execute("SELECT * FROM Fraga ORDER BY ID DESC")
arrOrd = rsOrd.GetRows()
rsOrd.Close
Set rsOrd = Nothing

for i = 0 to 9
Randomize
intRndOrd = rnd() * intWordCount

if firstTime = true then
	if inStr(myArray, round(intRndOrd)) > 0 then
	
	do until inStr(myArray, round(intRndOrd)) = 0
		Randomize
		intRndOrd = rnd() * intWordCount
	loop
	myArray = myArray & "," & round(intRndOrd)
		
	else
	myArray = myArray & "," & round(intRndOrd)
	end if
else
	myArray = round(intRndOrd)
	firstTime = true
end if

next

myArray = split(myArray, ",")

cntID = 1
for i = 0 to 9

Response.Write cntID & "&nbsp;"
Response.Write arrOrd(3,myArray(i)) & "&nbsp;&nbsp;"
Response.Write arrOrd(4,myArray(i)) & "&nbsp;&nbsp;"
Response.Write arrOrd(5,myArray(i)) & "&nbsp;&nbsp;"
Response.Write arrOrd(6,myArray(i)) & "&nbsp;&nbsp;"
Response.Write arrOrd(7,myArray(i)) & "<br>"

cntID = cntID + 1
next

Connection.Close
Set Connection = Nothing
%>
```

Kanske inte är världens mest effektiva sätt att göra det på, men det fungerar och det är ju kul för mig!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/45743-10-slumpvalda-tal
