Avatar billede meyer Nybegynder
30. oktober 2002 - 13:37 Der er 10 kommentarer og
1 løsning

Start tilfældigt!

Hvordan får jeg dette system til at starte et tilfældigt sted i listen hvis ID = 0 ???

<%
ID = trim( request.Querystring("ID") )

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open db

SQL = "SELECT * FROM ann where Datost <=  Date() AND Datosl >= Date() order by ID"
Set RS =  myConn.Execute(Sql)
isFound = false
do while not RS.EOF and not isFound
  if ID = CStr( RS("ID") ) then
    isFound = true
  end if
  RS.MoveNext
loop
if RS.EOF then
  RS.MoveFirst
end if

ID = RS("ID")

%>
Avatar billede dk_akj Nybegynder
30. oktober 2002 - 13:40 #1
Du vil stadig have hele recordsettet skrevet ud ??
Avatar billede exp-ralle Nybegynder
30. oktober 2002 - 13:45 #2
Følger lige med...
Avatar billede dk_akj Nybegynder
30. oktober 2002 - 13:47 #3
Måske noget som dette:



<%
ID = trim( request.Querystring("ID") )

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open db
SQL = "SELECT * FROM ann where Datost <=  Date() AND Datosl >= Date() order by ID"
Set RS =  myConn.Execute(Sql)
isFound = false

if id = 0 then
MyStart = Int((rs.rowcount() * Rnd) + 1)  ' find et tilfældigt tal
    for li_count = 1 to mystart
        rs.movenext    ' spol frem i recordset       
    next
end if


do while not RS.EOF and not isFound
  if ID = CStr( RS("ID") ) then
    isFound = true
  end if
  RS.MoveNext
loop


if id = 0 then  ' reseten skal udskrives
    li_count = 1
    rs.movefirst
    for li_count = 1 to mystart
        rs.movenext    ' spol frem i recordset       
    next
end if



if RS.EOF then
  RS.MoveFirst
end if

ID = RS("ID")

%>
Avatar billede meyer Nybegynder
30. oktober 2002 - 14:12 #4
Så får jeg denne her:

Objektet understøtter ikke denne egenskab eller metode: 'RS.rowcount'
Avatar billede dk_akj Nybegynder
30. oktober 2002 - 14:21 #5
Ups den smuttede :o)
Den hedder rs.recordcount isteddet for rs.rowcount()
Måske skal du rette:
SQL = "SELECT * FROM ann where Datost <=  Date() AND Datosl >= Date() order by ID"
Set RS =  myConn.Execute(Sql)

til
SQL = "SELECT * FROM ann where Datost <=  Date() AND Datosl >= Date() order by ID"
myConn.CursorLocation = 3
Set RS =  myConn.Execute(Sql)

for at det virker.

//akj
Avatar billede meyer Nybegynder
30. oktober 2002 - 14:33 #6
Øv øv så får jeg denne her:

Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig: 'RS.recordcount'
Avatar billede dk_akj Nybegynder
30. oktober 2002 - 14:35 #7
recordcount UDEN ()
MyStart = Int((rs.recordcount * Rnd) + 1)  ' find et tilfældigt tal

//akj
Avatar billede meyer Nybegynder
30. oktober 2002 - 14:49 #8
Den kører men den starter ikke et tilfældigt sted - den starter samme sted hver jeg jeg f.eks. opdaterer :-)
Avatar billede dk_akj Nybegynder
30. oktober 2002 - 14:50 #9
Randomize  ' "ryster posen"
MyStart = Int((rs.recordcount * Rnd) + 1)
Avatar billede meyer Nybegynder
30. oktober 2002 - 14:55 #10
Sådan!! tusind tak for hjælpen :-)
Avatar billede dk_akj Nybegynder
30. oktober 2002 - 14:59 #11
Selvtak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester