Bloquear con contraseña un botón

Tengo un formulario para guardar información,, pero tengo los botones de borrar y modificar también establecidos y cualquier persona me puede borrar o modificar datos... Como puedo hacer para que cuando de click en un botón me aparezca un mensaje un form, un msbox o algo que pida una contraseña,, y si la contraseña es correcta me permita pasar al formulario donde puedo modificar o borrar datos... Y si la contraseña no es correcta me de un mensaje que diga usuario no autorizado.
1

1 Respuesta

165.800 pts. Más de 35 años en la informática y más de 20 trabajando...
La mejor forma para hacer eso es que crees un formulario con un campo tipo textbox de tipo contraseña. Con un par de botones (aceptar y cancelar) en el formulario tendrías todo.
En el mismo formulario, en el botón aceptar, podrías comprobar el valor de la clave y devolver un valor verdadero/falso en una variable global.
La ventaja de hacerlo así es que al teclear la clave aparecerían asteriscos.
Otra forma más sencilla, cuyo problema es que se ve lo que teclean, sería poner este código al principio del procedimiento:
    if inputBox("Clave","Control de Accesso","")<>"claveCorrecta" then
        msgbox "Error: Acceso no permitido"
        exit sub
    end if
Ok gracias.. a ver si me que do claro... cuando de click en el botón. Me aparece un formulario que me pide la contraseña,, y si esta es la contraseña me permita pasara al formulario donde pueda borrar los datos.. y como que daría entonces para que cuando la contraseña sea cierta me abra el otro formulario.
A ver, lo que haría sería algo así:
1) Definir 2 variables globales:
    GLOBAL gblEsperar as boolean
    GLOBAL gblOkPasswd as boolead
2) En el evento 'click' del botón, pondría lo siguiente:
    gblEsperar = true
    formLeeClave.show ' Presenta el formulario para validar la clave
    me.hide ' Oculta el formulario actual
    do while gblEsperar ' Bucle que se repite hasta que termine el form de leer la clave
        doevents
    loop
    me.show ' Volvemos a presentar este formulario
    if not gblOkPasswd then exit sub ' Si no ha dado la clave bien... nos vamos
    ' A partir de aquí se ejecutaría tu código del botón (la clave era correcta)
3) Crearía un formulario con un textbox de tipo password y 2 botones: uno para aceptar y otro de cancelar.
4) El botón de cancelar tendría el siguiente código
    sub cancelar_Click()
        gblOkPasswd = false
        unload me
    end sub
5) El botón aceptar sería:
    sub aceptar_Click()
        gblOkPasswd = (me.textBox1.text = "CLAVE DE ACCESO")
        unload me
    end sub
6) Por último, en el evento de cerrar el formulario tendrás que poner que deje de ejecutarse el bucle que dejamos repitiéndose en el formulario anterior (en la programación del botón). Sería:
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        gblEsperar=false
    End Sub
En principio no sería mucho más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas