Requiero un código en Access para generar dos cifras aleatorias de 12 dígitos numéricos y otra de 6 sin repetición.

Deseándoles lo mejor y agradeciéndoles su dedicado empeño en servir, podrían colaborarme en la implementación de uno o dos códigos que me genere en dos campos distintos una cifra aleatoria de 12 dígitos numéricos y otra de 6 y que de manera segura estos no se repitan, la idea seria que se generara cada uno de los dos códigos al el evento “Al hacer Clic” de un comando para los dos o uno para cada uno, La verdad no tengo el conocimiento suficiente para hacerlo yo mismo.

2 Respuestas

Respuesta
2

A la respuesta de Jacinto le falta añadir un pequeño detalle (que aunque es cierto que viene en la explicación, es fácil saltárselo), para que no te genere siempre la misma secuencia de números aleatorios, y es que antes de la fórmula que te comenta has de añadir esta linea:

Randomize

Saludos!


Mi hermano la página y su propuesta es un pasada! Espero sean pronto los cursos!

El código completo sería, si lo pones en un botón y muestras los resultados en dos cuadros de texto llamados txtAle1 y txtAle2:

Private Sub NombreBoton_Click()
Dim aleatorio As Variant
Randomize
Do While Len(aleatorio) < 12
    aleatorio = aleatorio & Int((9 - 0 + 1) * Rnd)   'Genera un número entre 0 y 9
Loop
Me.txtAle1 = aleatorio 'Aleatorio de 12 cifras
aleatorio = Int((9 - 0 + 1) * Rnd)
Do While Len(aleatorio) < 6
    temp = Int((9 - 0 + 1) * Rnd)  'Genera un número entre 0 y 9
    If InStr(1, aleatorio, temp) = 0 Then aleatorio = aleatorio & temp
Loop
Me.txtAle2 = aleatorio 'Aleatorio de 6 cifras sin repetición
End Sub

No te olvides de valorar la respuesta, y espero verte por la web, jejeje

Respuesta
1

Jorge: Este tema viene muy bien explicado en la propia ayuda de Access.

Te resumo la Fórmula:

Rnd (Función)

Para producir enteros aleatorios en un intervalo dado, use esta fórmula: Saludos >> Jacinto

Int((Límite_superior - límite_inferior + 1) * Rnd + límite_inferior)

Bien, aunque entiendo poco, más o menos me las amaño, pero este código creo que me los dará en serie y no aleatoriamente, y lo requiero es aleatoriamente.

Jorge: Tal como cita Sveinbjorn en su ampliación a mi respuesta falta el Randomize.

Te remitía a la ayuda porque allí viene también la aclaración.

Ciertamente cuando respondo, a veces no soy muy explicito. Lo lamento

En éste caso observo que además te manejas bien con las series numéricas.

Mis saludos a los dos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas