<% " Moving to random record - Steven Jones" Extension If Not(记录集名称.bof and 记录集名称.eof) Then " reset the cursor to the beginning If (记录集名称.CursorType > 0) Then 记录集名称.MoveFirst Else 记录集名称.Requery End If
记录集名称_totalrn = -1 记录集名称_totalrn = 记录集名称.RecordCount " ony works on some recordsets, but much faster If (记录集名称_totalrn = -1) Then " and if it didn"t work, we still have to count the records.
" count the total records by iterating through the recordset 记录集名称_totalrn=0 While (Not 记录集名称.EOF) 记录集名称_totalrn = 记录集名称_totalrn + 1 记录集名称.MoveNext Wend
" reset the cursor to the beginning If (记录集名称.CursorType > 0) Then 记录集名称.MoveFirst Else 记录集名称.Requery End If
End If
" now do final adjustments, and move to the random record 记录集名称_totalrn = 记录集名称_totalrn - 1 If 记录集名称_totalrn > 0 Then Randomize 记录集名称.Move Int((记录集名称_totalrn + 1) * Rnd) End If End If " all done; you should always check for an empty recordset before displaying data %>