La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3281 - OBTENER REGISTROS ALEATORIAMENTE DE UNA BD
Autor:  oscar martin-prieto vazquez
TENGO UNA BD EN DBASE.TENGO QUE SACAR REGISTROS DE 5.000 EN 5000 DE FORMA ALEATORIA.
COMO HACERLO SI EN LA TABLA NO TENGOP INDICE YA QUE SE TRATA DE ARCHIVOS DE TIPO ASCII
MUCHAS GRACIAS

  Respuesta:  Enrique Linares
A ver si entendí tu pregunta:

Para sacar los registros aleatorios, necesitas primero inicializar la semilla de los números aleatorios ( Creo que es Randomize o alguna parecida ), después a alguna variable le asignas el número aleatorio, más o menos de esta manera:

Variable := random( 5000 )

ahora lo único que tienes que hacer es accesar el registro almacenado en la variable, no importa si no tienes índices, lo que interesa es el no. del registro.

No recuerdo si el Delphi permite accesar directamente un registro o hay que hacer un ciclo para accesarlo, pero de cualquier forma busca la ayuda de los métodos movefirst ( o gofirst o gotop ) o algo por el estilo, y en base a ellas encontrarás la otra función necesaria para localizar un registro específico

Nota: los nombres de las funciones pueden cambiar porque ahora no me acuerdo exactamente las instrucciones del delphi, pero creo que son estas}porque el lenguaje que más utilizo es el VB y en algunas ocasiones confundo las funciones