Come proteggere i tuoi dati sensibili con un modulo di accesso in Access

Condividi ora:

Un modulo di accesso è un must per i database che contengono informazioni riservate. Segui i passaggi seguenti in modo da poter creare il tuo modulo di accesso per proteggere il tuo database da accessi non validi.

Scarica Ora

Se desideri iniziare a utilizzare la funzionalità il prima possibile, puoi:

Scarica ora il database di esempio con i codici VBA

Altrimenti, se vuoi fare il fai-da-te, puoi leggere i contenuti di seguito.

Passaggi per creare un modulo di accesso in Access

1. Creare una tabella di accesso

La prima cosa che dobbiamo fare è creare una tabella che memorizzerà tutte le informazioni di accesso.

  1. Crea una nuova tabella e chiamala come tbl_login.
  2. Apri la tabella in visualizzazione Struttura.
  3. Aggiungi i seguenti campi con i tipi di dati corrispondenti:
Nome campo Tipo di dati
ID utente Numero automatico
Nome Testo breve
Cognome Testo breve
UserName Testo breve
Password Testo breve

 

  1. Modifica la maschera di immissione della password in modo che venga visualizzata come una serie di asterischi (*).Modifica la maschera di input della password
  • Seleziona il campo Password.
  • Vai alla scheda Generale > Maschera di input >...
  • Quando viene visualizzata la Creazione guidata maschera di input, selezionare Password.
  • Fai clic su Fine.
  1. Apri la tabella in visualizzazione Foglio dati e inserisci il primo record (i tuoi dati di accesso).Inserisci i tuoi dati di accesso
  2. Chiudi la tabella e salva le modifiche apportate.

2. Creare il modulo di accesso

Crea un modulo vuoto con 2 caselle di testo e 2 pulsanti di comando (come mostrato di seguito). Salta la procedura guidata del pulsante di comando.Crea il modulo di accesso

Faremo riferimento a questi controlli del modulo nel nostro codice in seguito, quindi sarebbe meglio rinominarli in modo che possano essere facilmente identificati:

  • txt_nomeutente
  • txt_password
  • cmd_login
  • cmd_cancel

Successivamente, modifica la maschera di immissione della casella di testo della password in modo che venga visualizzata anche come una serie di asterischi (*).

  1. In visualizzazione struttura, seleziona la casella di testo della password.
  2. Apri la finestra delle proprietà (ALT + Invio).
  3. Vai alla scheda Dati > Maschera di input.
  4. Selezionare Password e fare clic su Fine.

Ora modificheremo alcune proprietà del modulo per motivi estetici e, soprattutto, per garantire che gli utenti non possano aggirare questo modulo senza inserire le credenziali di accesso corrette.

  1. Mentre sei in visualizzazione struttura, seleziona il modulo (come mostrato di seguito).Seleziona Il modulo
  2. Apri la finestra delle proprietà (ALT + Invio) e aggiorna le seguenti proprietà:
  • Sotto il Formato linguetta
    • Didascalia: Accedi
    • Selettori di record: No
    • Pulsanti di navigazione: no
    • Barre di scorrimento: nessuna delle due
    • Stile bordo: dialogo
    • Pulsante Chiudi: No
  • Sotto il Altro linguetta
    • Pop Up: Sì
    • Modale: sì
    • Menu di scelta rapida: no
  1. Salva il modulo con nome frm_login.

3. Aggiungi il codice

Aggiungere un evento On Click al pulsante Login.

  1. In visualizzazione struttura, seleziona il pulsante Accedi.
  2. Vai alla finestra delle proprietà > scheda Evento > al clic >...
  3. Seleziona Generatore di codice dal menu Scegli Builder e fare clic su OK.
  4. Questo aprirà l'editor VBA.
  5. Copia il codice qui sotto.
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

Questo codice:

  1. Controlla se i campi nome utente e password non sono stati lasciati vuoti. Se lo sono, apparirà un prompt.
  2. Verifica se i dettagli di accesso sono corretti confrontandoli con i valori nella tabella di accesso (tbl_login).
  3. Una volta verificati i dettagli di accesso, verrà visualizzato un messaggio di benvenuto all'utente.

Il passaggio successivo consiste nell'aggiungere il codice per il pulsante Annulla in modo che, una volta cliccato, il database venga chiuso.

  1. Aggiungere un evento On Click al pulsante Annulla (stessa procedura con il pulsante Login).
  2. Copia il codice qui sotto.
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4. Impostare il modulo di accesso come modulo di visualizzazione

Infine, imposta il modulo di accesso come modulo predefinito che gli utenti vedranno all'apertura del database.

  1. Vai su File > Opzioni > Database corrente.
  2. Imposta Visualizza modulo su frm_login.
  3. Fare clic su OK.

Dovrai chiudere il database e riaprirlo per vedere come funziona.

Recupera il tuo database di accesso

Congratulazioni! Ora sai come proteggere il tuo prezioso database da accessi non validi. Adesso ti darò un consiglio in più. Se, per una sfortunata ragione, il tuo database è stato danneggiato, NON farti prendere dal panico. DataNumen Inc., esperta in tecnologie di recupero dati, fornisce un software che ripara accesso corrotto Banca dati. Il tuo database può ancora essere recuperato.

Introduzione dell'autore:

Jayme Stack è un esperto di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui ripristino sql ed eccellere prodotti software di recupero. Per maggiori informazioni visita www.datanumen.com

Condividi ora:

I commenti sono chiusi.