---
title: "Slumpvald"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/5821-slumpvald"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "DavidB"
published: "2000-06-12T09:41:00.000Z"
updated: "2000-06-13T14:12:00.000Z"
replies: 5
views: 189
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/5821-slumpvald"
---

# Slumpvald

## #1 — DavidB, 2000-06-12T09:41Z

Jag har en tabell i en access-databas med okänt antal poster. Hur ska jag göra för att den ska välja ut en slumpvald post ur tabellen?

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

## #2 — Vide, 2000-06-12T12:54Z

Här är ett sätt, lite krångligt men, men:

```
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("/scripts/databas.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

'***** Hämta en länk slumpartat ifrån databasen *****
SQL = "select Count(*) AS klo from tabell"
Set RS_klo = databas.execute(SQL)
Randomize
Set rstemp = Server.Createobject("ADODB.Recordset")
SQL = "Select * from lankar"
rstemp.cursorlocation = aduseclient
rstemp.cachesize = 5
rstemp.open SQL, "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
rstemp.move Int(Rnd*RS_klo("klo"))
```

Sedan hämtar du bara med: RStemp("fält")

Och så måste du har adovbs.inc inkluderad på sidan...

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

## #3 — Brimba, 2000-06-13T06:25Z

Hej!

Ett annat sätt är att göra så här:

```
		<%	
			Set Connection = Server.CreateObject("ADODB.Connection")
			Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\brimba\banners.mdb"
			SQL = "Select * FROM tabRandom"
			RStemp = UBOUND(Connection.Execute(SQLStmt).GetRows(),2)+1 
	
			Randomize
			post = Int(RND*RStemp)
			Set RS = Connection.Execute(SQLStmt)

			For s = 1 to post
			RS.MoveNext
			Next

		%>

			<A HREF="<%= RS("httpURL")%>" target="_new">
				<IMG SRC="<%= RS("bildURL")%>" border="0" width="480" height="60">
			</A>
<% 
RS.Close
Connection.Close
%>
```

Här plockar vi alltså ut en slumpvald post och kan arbeta med den. 

Lycka till

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

## #4 — Vide, 2000-06-13T08:40Z

Brimpa, jag tycker att den där loopen ser lite läskig ut... :) den fungerar precis som mitt record set...

Men vi kan ju säga såhär: är det några få poster, så använder du Brimba's script... och är det många poster så är det bättre att använda mitt...

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

## #5 — DavidB, 2000-06-13T12:21Z

Jag använde följand kod:

```
<% 
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\brimba\banners.mdb"
SQL = "Select * FROM tabRandom"
RStemp = UBOUND(Connection.Execute(SQLStmt).GetRows(),2)+1 

Randomize
post = Int(RND*RStemp)
Set RS = Connection.Execute(SQLStmt)
For s = 1 to post
RS.MoveNext
Next

%>
```

men sen kom jag på att jag ville lägga till en funktion och det var att den bara skulle välja utav de som hade rätt datum ungefär något sånt här:

```
'datum innehåller dagens datum

SQLStmt = "Select * FROM Banners Where Startdate <= '" & datum & "' AND Enddate =>  '" & datum & "'"
	RStemp = UBOUND(Connection.Execute(SQLStmt).GetRows(),2)+1 

	Randomize
	post = Int(RND*RStemp)
	Set RS3 = Connection.Execute(SQLStmt)
	For s = 1 to post
	RS3.MoveNext
	Next
```

det blir följande fel:

> Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 
>
> \[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel (operator saknas) i frågeuttrycket 'Startdate \<= '2000-06-13' AND Enddate =\> '2000-06-13''. 
>
> /fil.asp, rad 61

jag vill allstå att den ska läsa ifrån endast något av de fält som dagens datum är emellan Startdate och Enddate.

Hoppas att någon förstår.

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

## #6 — DavidB, 2000-06-13T14:12Z

Löste problemet

Jag löste det på följande sätt (om någon annan skulle få samma problem):

Koden såg ut följande:

```
Where Startdate <= '" & datum & "' AND Enddate =>  '" & datum & "'"
```

Men den ska se ut såhär

```
Where Startdate <= '" & datum & "' AND Enddate >=  '" & datum & "'"
```

skillnaden är =\> och \>= vid Enddate

Enddate =\>
ska vara
Enddate \>=

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/5821-slumpvald
