Hola Telemaco, quisiera saber la forma de establecer una contraseña que permita ejecutar la acción de un botón de comando. Hasta pronto Gracias
1 respuesta
Respuesta de telemaco
1
1
telemaco, He trabajado 5 años desarrollando aplicaciones tanto en access...
No te entendí muy bien tu pregunta, pero supuse esto: Que si alguien da click en el botón, no se desencadene lo que tiene que hacer, sini ingresa una contraseña, si es así entonces: En el botón NO SE ACTIVARA EL CÓDIGO, o lo que quieras hacer, lo que hará es abrir otro formulario, el cual contendrá una caja de texto, que después de ingresar la contraseña y al darle ENTER, validara la contraseña y aquí SE HARÁ LO QUE QUIERIA HACER CON EL BOTÓN, pero es aquí en el otro formulario. Entonces coloca el siguiente codogo en el botón: ************************** DoCmd.OpenForm "VALIDAR_PWD" ************************** OJO: VALIDAR_PWD, es el formulario donde se validara la contraseña y hará lo que se necesite. Ahora en el formulario VALIDAR_ PWD, Coloca una caja de texto, llamala por ejemplo Pwd: Ahora en el evento KeyPress de la caja coloca: ************************ Private Sub Pwd_KeyPress(KeyAscii As Integer) Contrasena = "hola" If KeyAscii = 13 And Not IsNull(Pwd) Then EsIgual = Pwd Like Contrasena If EsIgual = True Then MsgBox "Si la encontro" Else MsgBox "Contrasela errada." docmd.close End If End If End Sub ********************* OJO Contraseña, es una variable donde almacenara la contraseña, si esta en una tabla debe traértelo y guardarla a allí (para el ejemplo coloque la palabra hola). Ahora antes de validar la contraseña validaremos si oprimió la tecla enter, y no esta nula la caja de texto o en blanco: If KeyAscii = 13 And Not IsNull(Pwd) Then El 13 es el código Ascii del Enter. Ahora comparamos la contraseña con lo digitado y lo guardamos en una variable: EsIgual = Pwd Like Contrasena Si la contraseña es igual a lo digitado en la caja la variable EsIgual, devolverá verdadero, de lo contrario devolverá falso. Ahora debes modificar la parte verdadera (yo muestro el mensaje de si lo encontró), pero modifica esto para que haga lo que debería hacer en el botón hablado anteriormente. Ahora si es falso, muestra la leyenda, la contraseña esta errada y cierra el formulario. OJO:Si quieres que descrimine las mayúsculas de minúsculas (osea que al comparar HOLA sea diferente a hola) se debe hacer una comparación Binaria, para esto, debes colocar esta linea de coldigo, de primero en el formulario, "En general" Option Compare Binary Esta linea hará que SE DISCRIMINEN LA MAYÚSCULAS DE MINÚSCULAS. Me comenta como te fue. Att:TELEMACO