Bueno, he hecho una funcion que te genera la cadena aleatoria, de tu lado queda el comprobar que dicha cadena que se ha generado no existe ya en tu BD.
Como parametro debes pasar la longitud de la cadena que se va a generar, yo en el ejemplo, le mando 13, asi que la clave que se genera poseera 13 caracteres.
El codigo es el siguiente:
Código:
Private Sub Form_Load()
Text1.Text = ""
Dim i As Integer
For i = 0 To 20
MsgBox obtenerPassword(13)
Next i
End Sub
Private Function obtenerPassword(longitud_Clave As Integer) As String
Randomize
Dim i As Byte
Dim tipoCaracter As Integer
Dim j As Integer
Dim h As Integer
Dim resultado As String
Dim Numeros(10) As String
Dim Mayusculas(25) As String
Dim Minusculas(25) As String
Dim generacionPSS() As String
ReDim generacionPSS(longitud_Clave)
j = 0
For i = 48 To 57
Numeros(j) = Chr(i)
j = j + 1
Next i
j = 0
For i = 65 To 90
Mayusculas(j) = Chr(i)
j = j + 1
Next i
j = 0
For i = 97 To 122
Minusculas(j) = Chr(i)
j = j + 1
Next i
For h = 0 To longitud_Clave - 1
'aleatorio para saber si concateno numero, mayuscula o minuscula
tipoCaracter = Int((3 * Rnd))
Select Case tipoCaracter
'numero
Case 0:
generacionPSS(h) = Numeros(Int((UBound(Numeros) * Rnd)))
'minuscula
Case 1:
generacionPSS(h) = Minusculas(Int((UBound(Minusculas) * Rnd)))
'mayuscula
Case 2:
generacionPSS(h) = Mayusculas(Int((UBound(Mayusculas) * Rnd)))
End Select
Next h
resultado = ""
'concateno resultado para devolver solo un string y asi olvidarse de los vectores
For j = 0 To longitud_Clave - 1
resultado = resultado & generacionPSS(j)
Next j
obtenerPassword = resultado
End Function Un saludo.