Cum să vă protejați datele sensibile cu un formular de conectare în Access

Distribuie acum:

Un formular de autentificare este obligatoriu pentru bazele de date care conțin informații sensibile. Urmați pașii de mai jos pentru a vă putea crea propriul formular de autentificare pentru a vă proteja baza de date împotriva accesului nevalid.

Descarcă acum

Dacă doriți să începeți să utilizați funcția cât mai curând posibil, puteți:

Descărcați acum baza de date exemplu cu coduri VBA

În rest, dacă vrei să faci DIY, poți citi conținutul de mai jos.

Pași pentru a crea un formular de conectare în Access

1. Creați un tabel de conectare

Primul lucru pe care trebuie să-l facem este să creăm un tabel care va stoca toate informațiile de conectare.

  1. Creați un tabel nou și denumiți-l ca tbl_login.
  2. Deschideți tabelul în vizualizarea design.
  3. Adăugați următoarele câmpuri cu tipurile de date corespunzătoare:
Numele domeniului Tipul de date
Numele de utilizator Număr auto
Nume Text scurt
Numele de familie Text scurt
Nume de utilizator Text scurt
Parolă Text scurt

 

  1. Editați masca de introducere a parolei astfel încât aceasta să fie afișată ca o serie de asteriscuri (*).Editați masca de introducere a parolei
  • Selectați câmpul Parolă.
  • Accesați fila General > Mască de introducere >...
  • Când apare expertul pentru masca de introducere, selectați Parolă.
  • Faceți clic pe Finalizare.
  1. Deschideți tabelul în vizualizarea Fișă de date și introduceți prima înregistrare (detaliile dvs. de conectare).Introduceți detaliile dvs. de conectare
  2. Închideți tabelul și salvați modificările efectuate.

2. Creați formularul de autentificare

Creați un formular gol cu ​​2 casete text și 2 butoane de comandă (după cum se arată mai jos). Omiteți expertul butonului de comandă.Creați formularul de autentificare

Ne vom referi la aceste controale de formular în codul nostru mai târziu, așa că cel mai bine ar fi să le redenumim astfel încât să poată fi identificate cu ușurință:

  • txt_nume utilizator
  • txt_parola
  • cmd_login
  • cmd_cancel

Apoi, schimbați masca de introducere a casetei de text pentru parolă, astfel încât aceasta să fie afișată și ca o serie de asteriscuri (*).

  1. În vizualizarea design, selectați caseta de text pentru parolă.
  2. Deschideți foaia de proprietate (ALT + Enter).
  3. Accesați fila Date > Mască de introducere.
  4. Selectați Parolă și faceți clic pe Terminare.

Acum, vom modifica unele dintre proprietățile formularului în scopuri estetice și, cel mai important, pentru a ne asigura că utilizatorii nu pot ocoli acest formular fără a introduce datele de conectare corecte.

  1. În vizualizarea design, selectați formularul (după cum se arată mai jos).Selectați Formularul
  2. Deschideți foaia de proprietate (ALT + Enter) și actualizați următoarele proprietăți:
  • Sub Format fila
    • Subtitrare: Autentificare
    • Selectoare de înregistrare: Nu
    • Butoane de navigare: Nu
    • Bare de defilare: Nici unul
    • Stil chenar: Dialog
    • Buton de închidere: Nu
  • Sub Altele fila
    • Pop Up: Da
    • Modal: Da
    • Meniu de comenzi rapide: Nu
  1. Salvați formularul ca frm_login.

3. Adăugați codul

Adăugați un eveniment On Click la butonul Conectare.

  1. În vizualizarea design, selectați butonul Conectare.
  2. Accesați Foaia de proprietate > Fila Eveniment > La clic >...
  3. Selectați Generator de coduri din meniul Choose Builder și faceți clic pe OK.
  4. Aceasta va deschide Editorul VBA.
  5. Copiați codul de mai jos.
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

Acest cod va:

  1. Verificați dacă câmpurile pentru nume de utilizator și parolă nu sunt lăsate necompletate. Dacă sunt, va apărea un prompt.
  2. Verificați dacă detaliile de conectare sunt corecte comparându-le cu valorile din tabelul de conectare (tbl_login).
  3. Odată ce detaliile de conectare sunt verificate, va apărea o solicitare de bun venit utilizatorului.

Următorul pas este să adăugați codul pentru butonul Anulare, astfel încât, odată ce ați dat clic pe acesta, baza de date se va închide.

  1. Adăugați un eveniment On Click la butonul Anulare (aceeași procedură cu butonul Conectare).
  2. Copiați codul de mai jos.
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4. Setați formularul de autentificare ca formular de afișare

În cele din urmă, setați Formularul de autentificare ca formular implicit pe care utilizatorii îl vor vedea la deschiderea bazei de date.

  1. Accesați Fișier > Opțiuni > Bază de date curentă.
  2. Setați Formularul de afișare la frm_login.
  3. Faceți clic pe OK.

Va trebui să închideți baza de date și să o redeschideți pentru a vedea cum funcționează.

Recuperați baza de date de acces

Felicitări! Acum știți cum să vă protejați prețioasa bază de date împotriva accesului nevalid. Acum, am să-ți dau un sfat suplimentar. Dacă, dintr-un motiv nefericit, baza de date a fost coruptă, NU intrați în panică. DataNumen Inc., un expert în tehnologii de recuperare a datelor, oferă un software care repară Acces corupt Bază de date. Baza de date poate fi încă recuperată.

Introducerea autorului:

Jayme Stack este un expert în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv recuperare sql și produse software de recuperare Excel. Pentru mai multe informații vizitați www.datanumen.com

Distribuie acum:

Comentariile sunt închise.