Cómo proteger sus datos confidenciales con un formulario de inicio de sesión en Access

Comparte ahora:

Un formulario de inicio de sesión es imprescindible para las bases de datos que contienen información confidencial. Siga los pasos a continuación para que pueda crear su propio formulario de inicio de sesión para proteger su base de datos del acceso no válido.

Descargar Ahora

Si desea comenzar a utilizar la función lo antes posible, puede:

Descargue la base de datos de muestra con códigos VBA ahora

De lo contrario, si desea hacer bricolaje, puede leer el contenido a continuación.

Pasos para crear un formulario de inicio de sesión en Access

1. Cree una tabla de inicio de sesión

Lo primero que debemos hacer es crear una tabla que almacenará toda la información de inicio de sesión.

  1. Cree una nueva tabla y asígnele el nombre tbl_login.
  2. Abra la tabla en la vista de diseño.
  3. Agregue los siguientes campos con sus tipos de datos correspondientes:
Nombre del campo Tipo de datos
ID de usuario Número automático
Nombre Texto corto
Apellido Texto corto
Nombre de usuario Texto corto
Contraseña Texto corto

 

  1. Edite la máscara de entrada de la contraseña para que se muestre como una serie de asteriscos (*).Editar la máscara de entrada de la contraseña
  • Seleccione el campo Contraseña.
  • Vaya a la pestaña General> Máscara de entrada>…
  • Cuando aparezca el Asistente de máscara de entrada, seleccione Contraseña.
  • Haga clic en Finalizar.
  1. Abra la tabla en la vista Hoja de datos e ingrese el primer registro (sus datos de inicio de sesión).Ingrese sus datos de inicio de sesión
  2. Cierre la tabla y guarde los cambios realizados.

2. Cree el formulario de inicio de sesión

Cree un formulario en blanco con 2 cuadros de texto y 2 botones de comando (como se muestra a continuación). Omita el asistente del botón de comando.Crear el formulario de inicio de sesión

Más adelante nos referiremos a estos controles de formulario en nuestro código, por lo que sería mejor cambiarles el nombre para que se puedan identificar fácilmente:

  • txt_nombre de usuario
  • txt_contraseña
  • cmd_login
  • cmd_cancelar

A continuación, cambie la máscara de entrada del cuadro de texto de la contraseña para que también se muestre como una serie de asteriscos (*).

  1. En la vista de diseño, seleccione el cuadro de texto de la contraseña.
  2. Abra la hoja de propiedades (ALT + Enter).
  3. Vaya a la pestaña Datos> Máscara de entrada.
  4. Seleccione Contraseña y haga clic en Finalizar.

Ahora vamos a cambiar algunas de las propiedades del formulario por motivos estéticos y, lo que es más importante, para asegurarnos de que los usuarios no puedan omitir este formulario sin introducir los datos de inicio de sesión correctos.

  1. Mientras está en la vista de diseño, seleccione el formulario (como se muestra a continuación).Seleccione el formulario
  2. Abra la Hoja de propiedades (ALT + Intro) y actualice las siguientes propiedades:
  • En la sección Formato . Puede
    • Título: Iniciar sesión
    • Selectores de registro: No
    • Botones de navegación: No
    • Barras de desplazamiento: ninguna
    • Estilo de borde: diálogo
    • Botón Cerrar: No
  • En la sección Otra . Puede
    • Pop Up: Sí
    • Modal: si
    • Menú de acceso directo: No
  1. Guarde el formulario como frm_login.

3. Agrega el código

Agregue un evento On Click al botón Iniciar sesión.

  1. En la vista de diseño, seleccione el botón Iniciar sesión.
  2. Vaya a la Hoja de propiedades> pestaña Evento> Al hacer clic>…
  3. Seleccionar Generador de código en el menú Choose Builder y haga clic en OK.
  4. Esto abrirá el Editor de VBA.
  5. Copie el código a continuación.
Private Sub cmd_login_Click()

  Dim db As DAO.Database
  Dim rst As DAO.Recordset
  Dim strSQL As String
 
  If Trim(Me.txt_username.Value & vbNullString) = vbNullString Then
    MsgBox prompt:="Username should not be left blank.", buttons:=vbInformation, title:="Username Required"
    Me.txt_username.SetFocus
    Exit Sub
  End If
 
  If Trim(Me.txt_password.Value & vbNullString) = vbNullString Then
    MsgBox prompt:="Password should not be left blank.", buttons:=vbInformation, title:="Password Required"
    Me.txt_password.SetFocus
    Exit Sub
  End If
 
  'query to check if login details are correct
  strSQL = "SELECT FirstName FROM tbl_login WHERE Username = """ & Me.txt_username.Value & """ AND Password = """ & Me.txt_password.Value & """"
 
  Set db = CurrentDb
  Set rst = db.OpenRecordset(strSQL)
  If rst.EOF Then
    MsgBox prompt:="Incorrect username/password. Try again.", buttons:=vbCritical, title:="Login Error"
    Me.txt_username.SetFocus
  Else
    MsgBox prompt:="Hello, " & rst.Fields(0).Value & ".", buttons:=vbOKOnly, title:="Login Successful"
    DoCmd.Close acForm, "frm_login", acSaveYes
  End If
 
 Set db = Nothing
 Set rst = Nothing

End Sub

Este código:

  1. Compruebe si los campos de nombre de usuario y contraseña no se dejan en blanco. Si es así, aparecerá un mensaje.
  2. Compruebe si los datos de inicio de sesión son correctos comparándolos con los valores de la tabla de inicio de sesión (tbl_login).
  3. Una vez que se verifican los detalles de inicio de sesión, aparecerá un mensaje de bienvenida al usuario.

El siguiente paso es agregar el código para el botón Cancelar para que una vez que se haga clic en él, se cierre la base de datos.

  1. Agregue un evento On Click al botón Cancelar (el mismo procedimiento con el botón Iniciar sesión).
  2. Copie el código a continuación.
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4. Establezca el formulario de inicio de sesión como formulario de visualización

Finalmente, configure el Formulario de inicio de sesión como el formulario predeterminado que los usuarios verán al abrir la base de datos.

  1. Vaya a Archivo> Opciones> Base de datos actual.
  2. Establezca Mostrar formulario en frm_login.
  3. Haga clic en Aceptar.

Deberá cerrar la base de datos y volver a abrirla para ver cómo funciona.

Recupere su base de datos de acceso

¡Felicidades! Ahora sabe cómo proteger su preciosa base de datos del acceso inválido. Ahora te voy a dar un consejo extra. Si, por una razón desafortunada, su base de datos ha sido dañada, NO entre en pánico. DataNumen Inc., un experto en tecnologías de recuperación de datos, proporciona un software que repara acceso dañado base de datos. Su base de datos aún se puede recuperar.

Introducción del autor:

Jayme Stack es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperación de sql y productos de software de recuperación de Excel. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.