Access - Seleccion aleatoria de registros con la funcion RND

   
Vista:

Seleccion aleatoria de registros con la funcion RND

Publicado por Jose (86 intervenciones) el 02/12/2014 16:52:50
Hola:
saludos a todos

en esta ocacion quiero aportar este procedimiento para realizar una seleccion aleatoria de registros en una base de datos, tomando en cuenta que yo la utilice para activar ordenes de mantenimiento preventivo a los cuales se les hara una auditoria, es solo el ejemplo de como seria el procedimiento, cada quien lo puede adaptar a sus necesidades

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cuantos = Int(DCount("*", "QryPrevAuditar") / 10) ‘definir el porcentaje que se seleccionara desde un total en una base de datos o query
donde = DCount("*", "QryPrevAuditar") ‘ definir la cantidad de registros a escanear
Valor = Int((donde * Rnd) + 1) ‘definir el primer valor aleatorio que se buscara
marcados = 0	‘ establecer cuantos hemos marcado
Do While marcados <= cuantos	‘ciclamos para asegurar dar el porcentaje de vueltas establecido
    A = 1	‘ establecemos cuantas veces hemos hecho el scann
    DoCmd.GoToRecord , "frmpreventivosparaauditar", acFirst ‘enviamos siempre al primer registro
    Do While A <= donde ‘ ciclamos para escanear todos los registros
        On Error GoTo salir ‘aseguramos que la llegar al final se saldrá del proceso
        If A = Valor Then ‘verificamos si el valor que estamos buscando
            Auditar = True	‘si es así, le indicamos que tiene que hacer
            marcados = marcados + 1
            Valor = Int((donde * Rnd) + 1) ‘ volvemos a buscar otro numero aleatorio
            GoTo salir	‘definimos que el proceso termino y que necesitamos volver a iniciar
        Else
            DoCmd.GoToRecord , "frmpreventivosparaauditar", acNext ‘si no es el valor, vamos al siguiente registro
            A = A + 1 ‘le indicamos al proceso que vamos a dar otro scann
        End If
    Loop
salir:
Loop

Espero y les sea de utilidad

saludos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder