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>
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...
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.
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>