Generar una lista con una respuesta correcta ordenada al azar

Dudas sobre código
Avatar de Usuario
leadrudi
Nivel 6
Mensajes: 201
Registrado: Sab Oct 14, 2017 7:55 am

Generar una lista con una respuesta correcta ordenada al azar

Mensajepor leadrudi » Mar Dic 31, 2019 1:26 am

Con este código obtengo el valor correcto y 3 valores incorrectos para validar que el que ingresa el dato tenga la credencial en sus manos (una especie de segunda validación).

Código: Seleccionar todo

Private Sub SegundaValidacionCredencial()
    Dim vDig As String, vVal1 As String, vVal2 As String, vVal3 As String, vVal4 As String
    vVal1 = Left(DLookup("[CREDENCIAL]", "[tabCredenciales]", "[DNI] = " & Me.txtDNI.Value & " AND [ESTADO] = 1"), 4)
    Y = 0
    Do
        Randomize
        vDig = vDig & "-" & Int((9999 - 1001 + 1) * Rnd + 1001)
        Y = Y + 1
    Loop Until Y = 3
    vVal2 = Mid(vDig, 2, 4)
    vVal3 = Mid(vDig, 7, 4)
    vVal4 = Mid(vDig, 12, 4)
End Sub

(NOTA: Los guiones los quitaré pues fueron por mero control que esté funcionando).
El correcto es vVal1 y los erróneos los restantes vVal.
Ahora quiero añadir un InputBox con la selección de la respuesta correcta que se ordene el 1 al 4 en forma aleatoria o, incluso, que no esté entre los valores.
Al usuario se le mostrará lo siguiente para responder:
2Step.png
Validación en pseudo 2 factor.
2Step.png (6.05 KiB) Visto 261 veces

¿Cómo logro ese listado aleatorio, con resultados aleatorios, aleatoriamente?
:?: :!: :idea: :arrow: :oops: :( :o :) :D :geek: :ugeek:

pitxiku
VIP
Reto02
Mensajes: 469
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Generar una lista con una respuesta correcta ordenada al azar

Mensajepor pitxiku » Mar Dic 31, 2019 8:36 pm

Para controles aleatorios, aquí tienes varias ideas:

- viewtopic.php?f=17&t=940

Pero yo no mostraría códigos en pantalla: si el usuario copia los códigos de esa ventana, la cierra y vuelve a abrir, tendrá otros códigos. Y comparando los primeros con los segundos, sabrá cuál es el bueno.

Y aún sin guardar códigos, tendrá un 25% de posibilidades de acertar con el código bueno.


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados