JR,
Já precisei desta rotina também, encontrei algumas soluções de RND na própria SQL, mas a mesma não funciona pois sempre retorna a mesma seqüência de registros aleatórios, a solução que desenvolvi está abaixo:
SQL = "SELECT Count(*) As TotalRegistros FROM Tabela "
Set RS = DB.Execute(SQL)
count = RS("TotalRegistros")
RS.close
SQL = "SELECT * FROM Tabela"
RS.ActiveConnection = DB
RS.CursorType = adOpenStatic
RS.CursorLocation = adUseClient
RS.Source = SQL
RS.open
If not RS.eof Then
for conta = 1 to 5 'Gera 5 registros aleatórios
Randomize
reg = CLng((Int(count * Rnd)))
RS.Move reg, 1
' Aqui você esta no registro aleatório
next
end if
RS.close
Abraços