El numero aleatorio de access no es aleatorio...

Estoy puliendo un frontend y he añadido un subformulario que se recarga cada hora que muestra una cita celebre.
El problema es que tengo 6514 citas y uso la función aleatoria para sacarla, pero me he dado cuento que cuando abro el programa, siempre me salen las citas en el mismo orden.
Al principio pensé que era casualidad, pero vamos, que llevo 100 pruebas y de casualidad nada de nada...
Si abro el subformulario el solo en modo vista previa los números SI que no se repiten, pero en cuanto lo enlazo al principal... Aburrida estoy de leer las mismas citas celebres y eso que son más de 6000!
La función que uso es la siguiente:
= Int((6514-0+1)*NúmAleat()+0)
= Int((6514*NúmAleat())+1)  (esta fue la primera que use, y la cambie cuando vi que empezaba a darme los mismos numeros).

2 respuestas

Respuesta
1
No se bien que puede pasar, pero mirando por ahí he encontrado ésta página que me ha parecido interesante:
http://www.xperimentos.com/2007/03/27/seleccion-de-registros-aleatorios-en-access/
Hola Angeles!
Mil Gracias por tu respuesta. La verdad es que esa página ya la había mirado en San Google (¿cómo narices se programaba antes de google? :p ) antes de pedir sopitas.
Sigo haciendo pruebas y creo que el error esta en el ciclo de reloj que toma, porque una vez obtiene un numero aleatorio, lo que hace es calcular según la ayuda de office el siguiente sobre el anterior, por lo que siempre obtengo la misma secuencia.
http://office.microsoft.com/es-es/access-help/funcion-numaleat-HA001228901.aspx
En algún punto de esta explicación es donde hago agua y no se donde.
Me estoy volviendo majara yo sola... A ver si voy a estar hipoglucemica y después de comer veo las cosas más claras...
Un beso y gracias!
Siento haberte "pillado" la pregunta, pero creí que te podría ayudar.
Estoy haciendo alguna pruebas, si saco algo te cuento, si lo resuelves.
Respuesta
1

Yo tambien estube 2 dias con las canas verdes por el tema de que solo es una secuencia y no un random verdadero pero si pude dar con la respouesta y la vedad resulto ser tan sencilla que me dio risa la respuesta es poner la instrucciona

" Randomize " antes de tu instruccion de genrar el numero random te dejo el ejemplo yo necesitaba un numero random entre 1 y 75 ..

Randomize
Me.num_nuevo = Int((75 - 1 + 1) * Rnd + 1)

Espero aun te sea util .. Saludos desde Mty. Mx.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas