Formulario para contraseña

Actualmente estoy diseñando una base de datos y cuando de inicia automáticamente se abre un formulario llamado "Clave" el cual solicita una contraseña. ¿Mi pregunta es ¿Cómo puedo crear la opción para poder cambiar la contraseña sin necesidad de editarla por medio del códogo de VB?. Lo que se quiere es algo parecido a lo de las cuentas de correo electrónico. Es decir que pida la contraseña actual y la que deseo establecer como nueva.
Este es el código que tengo asociado al hacer clicr en el botón Entrar del formulario:
Private Sub Entrar_click()
If IsNull(pasword) Or pasword = "" Then
MsgBox "La contraseña es incorrecta, vuelva a intentarlo", vbCritical + vbDefaultButton1, "Acceso negado!!!"
pasword.SetFocus
pasword = Null
Exit Sub
End If
If pasword = "plan" Then
MsgBox "Acceso autorizado", vbInformation + vbOKOnly, "Aviso"
DoCmd.Close
DoCmd.OpenForm "Menu de Entrada"
Else
MsgBox "La contraseña es incorrecta, vuelva a intentarlo", vbCritical + vbDefaultButton1, "Acceso negado!!!"
pasword.SetFocus
pasword = Null
Exit Sub
End If
End Sub
Me he inclinado por la opción de la creación de un nuevo formulario el cual se llama "nueva contraseña" con tres cuadros de texto, a saber: password, Newpasword y Confpasword, ademas de un botón de comando llamado Cambiar. Pero tengo problemas y no se porqué.
Aqui te muestro el nuvo código para los dos formualarios:
Formulario "Clave"
Private Sub Entrar_click()
If IsNull(pasword) Or pasword = "" Then
MsgBox "La contraseña es incorrecta, vuelva a intentarlo", vbCritical + vbDefaultButton1, "Acceso negado!!!"
pasword.SetFocus
pasword = Null
Exit Sub
End If
If pasword = [Contraseña] Then
'el campo [Contraseña] es un campo oculto en este formulario mi idea era de que sirviera de puente entre los dos formularios pero no me funciona.
MsgBox "Acceso autorizado", vbInformation + vbOKOnly, "Aviso"
DoCmd.Close
DoCmd.OpenForm "Menu de Entrada"
Else
MsgBox "La contraseña es incorrecta, vuelva a intentarlo", vbCritical + vbDefaultButton1, "Acceso negado!!!"
pasword.SetFocus
pasword = Null
Exit Sub
End If
End Sub
Formulario "Cambiar contraseña"
DoCmd.OpenForm "Clave"
If [pasword] = Forms![clave].[Contraseña] And [Newpasword] = [ConfPasword] Then
Forms![clave].[Contraseña] = [Newpasword]
DoCmd.Close
MsgBox "Se ha cambiado la contraseña de acceso a la base.", vbInformation + vbDefaultButton1, "Mensaje"
DoCmd.close
DoCmd.OpenForm "Clave"
Else
MsgBox "Ha digitado la contraseña incorrecta o su confirmación ha sido errada.", vbCritical + vbDefaultButton1, "Error!"
End If
End Sub

2 Respuestas

Respuesta
1
Una opción es crear una tabla con un campo para guardar allí la contraseña y poder verla desde el form "clave", luego con un poco de código VB es fácil analizarla, compararla, cambiarla o lo que se te ocurra. Suerte
Respuesta
1
Leiton,
en el formulario de cambiar contraseña debes tener un objeto que contenga el ID de usuario para que después de leer la contraseña actual puedas buscar el usuario y la contraseña en el archivo de los usuarios y las compare.
Te explico lo que yo hago en mis aplicaciones:
1. Tengo un formulario que inicia la aplicación solicitando el usuario y la contraseña.
2. Si el usuario y la contraseña sun válidos entonces abro un formulario que me sirve de fondo y en el tengo un objeto que guarda el ID del usuario y el nombre del usuario.
3. Tengo una opción en el menu para cambiar la contraseña.
Espero que te ayude,
pedroterrero.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas