记录集内随机取记录的代码

2018-09-06 13:07

阅读:478

  <%
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 didnt 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
%>


评论


亲,登录后才可以留言!