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