Varför funkar inte detta: Chansar på att det beror på att du försöker använda dig av rstActiveUsers vilket int är tilgängligt. pga att du fått en ny namspac genom att kapsla koden i en funktion.Problem med "Visa aktiva användare" exemplet.. Utökning..
Function UserOnline(ID)
IsOnline = 0
set rst = rstActiveUsers.Clone
rst.sort = "started desc"
rst.MoveFirst
Do Until rst.EOF or rst.BOF
If rst("USERID") = ID Then
IsOnline = 1
End If
rst.MoveNext
Loop
IF IsOnline = 1 then
UserOnline = 1
Else
UserOnline = 0
End If
End Function
<% If UserOnline(Friends("UserID")) = 1 Then%>
får felet:
Microsoft VBScript runtime error '800a005b'
Object variable not set
/vanner.asp, line 213 Sv: Problem med "Visa aktiva användare" exemplet..
Kan nog lösa det genom att skriva
Function UserOnline(ID, rst)
Dim fldField
UserOnline = False
rst.MoveFirst
Do Until rst.EOF or rst.BOF
If rst("USERID") = ID Then
UserOnline = True
Exit Do
End If
rst.MoveNext
Loop
End Function
Och skicka recordsettet som argument.
<%
Dim rst
set rst = rstActiveUsers.Clone
If UserOnline(Friends("UserID"), rst) Then
%>Online<%
Else
%>Offline<%
End If
%>
Det inte så snyggt att loop igenom ett recordset för att finna en post. Öppna istället ett recordset där idnummret är med WHERE satsen och kontrollera om du får tillbaks några poster. Eller åtminstode använda find metoden på recordsettet...
/Mvh, Andreas Hillqvist