La Web del Programador: Comunidad de Programadores
 
    Pregunta:  5099 - PROBLEMAS CON MASCARA CONTRASEÑA EN ACCESS 2000
Autor:  felix moreno polo
antes de nada un saludo a todos.
pasa a detallaros mi problema.
utilizo un formulario en el cual hay que introducir en un textbox un acontraseña, este tiene la propiedad de mascara de entrada como contraseña, en codigo comparo este valor con el valor correcto de entrada, bueno esto siempre me a funcionado sin más en access 97, pero cual a sido mi sorpresa que en access 2000, el valor es siempre ******, devido a la mascara, y por supuesto nunca coincide con el valor correcto.
¿como hago la conversion? o ¿como trato a una caja de texto con mascara contraseña para "decodificar" el valor introducido?

muchas gracias y un saludo

  Respuesta:  Vicent Cubells i Peña
Saludos. Suponiendo que el textbox se titula texto2, has de crear una variable a nivel de módulo llamada, por ejemplo, vartext, has de crear un evento al presionar tecla en el textbox y poner el siguiente código:

Private Sub Texto2_KeyPress(KeyAscii As Integer)

If KeyAscii = 8 Then
If Len(vartext) > 0 Then
vartext = Left(vartext, Len(vartext)- 1)
Else
vartext = " "
End If
Else
vartext = vartext & Chr(KeyAscii)
KeyAscii = Asc("*")
End If
End Sub
El if te permite retroceder un caràcter si el usuario se ha equivocado al escribir. El else introduce la máscara para que no se lea la contraseña.
Después sólo has de crear un evento después de
actualizar el texto2 o en un botón para que compruebe que vartext=contraseña, como por ejemplo:

If vartext= ctsenya Then
´acciones para contraseña correcta
else
msgbox "Contrseña incorrecta..."
´ acciones para contraseña incorrecta
end if

Ideas: puedes utilizar un contador para dejar que el usuario lo intente tres veces o más
Saludos otra vez