---
title: "PatrikBs lottoscript"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6914-patrikbs-lottoscript"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "costodia"
published: "2000-10-22T08:23:00.000Z"
updated: "2000-10-22T19:18:00.000Z"
replies: 5
views: 256
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/6914-patrikbs-lottoscript"
---

# PatrikBs lottoscript

## #1 — costodia, 2000-10-22T08:23Z

jag tittade på lottoscriptet som finns på <http://script.webforum.nu/wf/Forum1/HTML/000032.html> 

jag bara undrar om det är någon som fått det att funka, jag har själv lagt upp det på <http://www.costodia.com/lotto.asp>  och det ser ut så här:
\<%
Response.Buffer = True
'--------------------------------------------------------------------
' Get unique numbers
'--------------------------------------------------------------------
' Script written by - Patrik Berggren
' Email: mrwize@mrwize.nu
' Homepage: <http://www.mrwize.nu>  
'--------------------------------------------------------------------
Sub GetNo(ByRef intUniqueNo, ByRef intTotNo)
' Check If total numbers is fewer than wanted uniques
'----------------------------------------------------
If intUniqueNo \>= intTotNo Then
		Response.Write "Total unique numbers, (" & intUniqueNo & \_
			"), has to be fewer than total numbers, (" & \_
		intTotNo & "), to choose from."
		Exit Sub
End If

Randomize
' Get first unique number
'------------------------
intAllNo = "#" & CInt((RND \* (intTotNo - 1)) + 1) & "#"
' Start position
'---------------
n = 1
' Get unique numbers
'-------------------
While Not n = intUniqueNo
	intNewNo = CInt((RND \* (intTotNo - 1)) + 1) & "#"
	' check if the new number is unique
	'----------------------------------
	If InStr(intAllNo,"#" & intNewNo) Then
		n = n
	Else
		intAllNo = intAllNo & intNewNo
		n = n + 1
	End If
Wend	' next unique number
' create an array out of all unique numbers
'------------------------------------------
arrAllNo = Split(intAllNo,"#")
' Create a recordset
'-------------------
Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
	objRS.Sort = "FLD_NUMBER ASC"
	objRS.Open
' set all unique numbers into recordset
' to sort ascending
'--------------------------------------
For i = 1 To UBound(arrAllNo) - 1
	objRS.AddNew
	objRS("FLD_NUMBER") = arrAllNo(i)
	objRS.Update
Next
	' Show user all unique numbers
	'-----------------------------
	objRS.MoveFirst
	Do Until objRS.EOF
		iNo = iNo + 1
		Response.Write("Nr " & iNo & ": " & objRS("FLD_NUMBER") & "\<br\>")
		objRS.MoveNext
	Loop
	objRS.Close
Set objRS = nothing
End Sub
%\>
\<html\>

\<head\>
\<title\>\</title\>
\</head\>

\<body\>\<%
Call GetNo(20,70)
%\>
\</body\>
\</html\>
  
Men det blir  
Provider error '80004005' 

Unspecified error 

/lotto.asp, line 48   

Vad har gjort för fel?

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

## #2 — Vide, 2000-10-22T11:11Z

Och vad står på rad 48?

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

## #3 — nilzzon, 2000-10-22T12:27Z

Jag brukar få samma fel... åtminstone ibland. Fast då på svenska (odefinierat fel) ;)

Felet brukar för mig uppträda då jag öppnar en databas. Det som då hjälper är att själv orsaka ett fel (genom att skriva in en felaktig "driver" \[connect.open "driver={tjolahopp}"\]). När jag sedan skriver in rätt igen funkar allt. Med andra ord... orsaka ett medvetet fel (på vad 48), testkör, ändra och se om det funkar...

Datorer har inget eget liv, men ibland undrar man... ;)

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

## #4 — costodia, 2000-10-22T15:16Z

på rad 48 står 	objRS.Open
ovanför det står det
Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
	objRS.Sort = "FLD_NUMBER ASC"

nizzon, problemet för mig är att jag ite öppnar någon databas.

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

## #5 — casca, 2000-10-22T18:45Z

> nizzon, problemet för mig är att jag inte öppnar någon databas.

Varför skapar du då en Recordset-instans? :q

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

## #6 — PatrikB, 2000-10-22T19:18Z

Hello,

recsetet skapas endast för att sortera alla nummer i nummerordning, dvs från lägsta till högsta ....

Ser vart felet ligger och det är raden innan objRS.Open ... dvs, objRS.Sort ... den skulle vara bortkommenterad ... 

Här kommer ett uppdaterat script som funkar:

```
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<%
Response.Buffer = False

'--------------------------------------------------------------------
' Get unique numbers
'--------------------------------------------------------------------
' Script written by - Patrik Berggren
' Email: mrwize@mrwize.nu
' Homepage: [url="http://www.mrwize.nu"]http://www.mrwize.nu[/url] 
'--------------------------------------------------------------------
Sub GetNo(ByRef intUniqueNo, ByRef intTotNo)

' Check If total numbers is fewer than wanted uniques
'----------------------------------------------------
If intUniqueNo >= intTotNo Then
		Response.Write "Total unique numbers, (" & intUniqueNo & _
			"), has to be fewer than total numbers, (" & _
			intTotNo & "), to choose from."

		Exit Sub
End If

Randomize

' Get first unique number
'------------------------
intAllNo = "#" & CInt((RND * (intTotNo - 1)) + 1) & "#"

' Start number
'-------------
n = 1

' Get unique numbers
'-------------------
While Not n = intUniqueNo

	intNewNo = CInt((RND * (intTotNo - 1)) + 1) & "#"

	' check if the new number is unique
	'----------------------------------
	If InStr(intAllNo,"#" & intNewNo) Then
		n = n
	Else
		intAllNo = intAllNo & intNewNo
		n = n + 1
	End If

Wend	' next unique number

' create an array out of all unique numbers
'------------------------------------------
arrAllNo = Split(intAllNo,"#")

' Create a recordset
'-------------------
Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
	objRS.Open

' set all unique numbers into recordset
' to sort ascending
'--------------------------------------
For i = 1 To UBound(arrAllNo) - 1
	objRS.AddNew
	objRS("FLD_NUMBER") = arrAllNo(i)
	objRS.Update
Next

	' Show user all unique numbers
	'-----------------------------
	objRS.Sort = "FLD_NUMBER ASC"
	objRS.MoveFirst
	Do Until objRS.EOF
		iNo = iNo + 1
		Response.Write("Nr " & iNo & ": <b>" & objRS("FLD_NUMBER") & "</b><br>")
		objRS.MoveNext
	Loop
	objRS.Close
Set objRS = nothing
End Sub
%>
</font>
```

Kan beskådas [här](http://www.mrwize.nu/wf/unique_numbers.asp)

cya,

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/6914-patrikbs-lottoscript
