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.
- Crea una nuova tabella e chiamala come tbl_login.
- Apri la tabella in visualizzazione Struttura.
- 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 |
- Modifica la maschera di immissione della password in modo che venga visualizzata come una serie di asterischi (*).
- 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.
- Apri la tabella in visualizzazione Foglio dati e inserisci il primo record (i tuoi dati di accesso).
- 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.
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 (*).
- In visualizzazione struttura, seleziona la casella di testo della password.
- Apri la finestra delle proprietà (ALT + Invio).
- Vai alla scheda Dati > Maschera di input.
- 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.
- Mentre sei in visualizzazione struttura, seleziona il modulo (come mostrato di seguito).
- 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
- Salva il modulo con nome frm_login.
3. Aggiungi il codice
Aggiungere un evento On Click al pulsante Login.
- In visualizzazione struttura, seleziona il pulsante Accedi.
- Vai alla finestra delle proprietà > scheda Evento > al clic >...
- Seleziona Generatore di codice dal menu Scegli Builder e fare clic su OK.
- Questo aprirà l'editor VBA.
- 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:
- Controlla se i campi nome utente e password non sono stati lasciati vuoti. Se lo sono, apparirà un prompt.
- Verifica se i dettagli di accesso sono corretti confrontandoli con i valori nella tabella di accesso (tbl_login).
- 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.
- Aggiungere un evento On Click al pulsante Annulla (stessa procedura con il pulsante Login).
- 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.
- Vai su File > Opzioni > Database corrente.
- Imposta Visualizza modulo su frm_login.
- 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



