Sådan beskyttes dine følsomme data med en loginformular i adgang

En loginformular er et must for databaser, der indeholder følsomme oplysninger. Følg nedenstående trin, så du kan oprette din egen loginformular for at beskytte din database mod ugyldig adgang.

Hent nu

Hvis du vil begynde at bruge funktionen så hurtigt som muligt, kan du:

Download eksempeldatabasen med VBA-koder nu

Ellers kan du læse indholdet nedenfor, hvis du vil gøre det selv.

Trin til at oprette en loginformular i Access

1. Opret en login-tabel

Den første ting, vi skal gøre, er at oprette en tabel, der gemmer alle loginoplysninger.

  1. Opret en ny tabel, og navngiv den som tbl_login.
  2. Åbn bordet i designvisningen.
  3. Tilføj følgende felter med deres tilsvarende datatyper:
Feltnavn Datatype
BrugerID Autonummerering
Fornavn Korttekst
Efternavn Korttekst
Brugernavn Korttekst
Adgangskode Korttekst

 

  1. Rediger adgangskodens inputmaske, så den vises som en serie af stjerner (*).Rediger adgangskodens inputmaske
  • Vælg adgangskodefeltet.
  • Gå til fanen Generelt> Input Mask> ...
  • Når guiden Input Mask vises, skal du vælge Adgangskode.
  • Klik på Udfør.
  1. Åbn tabellen i dataarkvisning, og indtast den første post (dine loginoplysninger).Indtast dine loginoplysninger
  2. Luk tabellen, og gem de foretagne ændringer.

2. Opret loginformularen

Opret en blank formular med 2 tekstfelter og 2 kommandoknapper (som vist nedenfor). Spring over kommandoknapguiden.Opret loginformularen

Vi vil henvise til disse formularkontroller i vores kode senere, så det ville være bedst at omdøbe dem, så de let kan identificeres:

  • txt_brugernavn
  • txt_adgangskode
  • cmd_login
  • cmd_annuller

Dernæst skal du ændre indtastningsmasken for adgangskodens tekstboks, så den også vises som en serie af stjerner (*).

  1. Mens du er i designvisning, skal du vælge adgangskodetekstfeltet.
  2. Åbn ejendomsarket (ALT + Enter).
  3. Gå til fanen Data> Input Mask.
  4. Vælg adgangskode, og klik på Udfør.

Nu vil vi ændre nogle af formularens egenskaber af æstetiske årsager og vigtigst af alt, for at sikre, at brugerne ikke kan omgå denne formular uden at indtaste de korrekte loginoplysninger.

  1. Mens du er i designvisningen, skal du vælge formularen (som vist nedenfor).Vælg formularen
  2. Åbn egenskabsarket (ALT + Enter), og opdater følgende egenskaber:
  • Under dannet fanen
    • Billedtekst: Login
    • Record Selectors: Nej
    • Navigationsknapper: Nej
    • Rullebjælker: Ingen af ​​dem
    • Grænsestil: Dialog
    • Luk-knap: Nej
  • Under Andet fanen
    • Pop op: Ja
    • Modal: Ja
    • Genvejsmenu: Nej
  1. Gem formularen som frm_login.

3. Tilføj koden

Føj en On Click-begivenhed til knappen Login.

  1. Mens du er i designvisning, skal du vælge knappen Login.
  2. Gå til ejendomsarket> fanen Begivenhed> Ved klik> ...
  3. Type Kodebygger fra menuen Vælg bygherre og klik på OK.
  4. Dette åbner VBA Editor.
  5. Kopier koden nedenfor.
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

Denne kode vil:

  1. Kontroller, om brugernavnet og adgangskodefelterne ikke er tomme. Hvis de er, vises der en meddelelse.
  2. Kontroller, om loginoplysningerne er korrekte ved at sammenligne dem med værdierne i login-tabellen (tbl_login).
  3. Når loginoplysningerne er bekræftet, vises en prompt, der byder brugeren velkommen.

Det næste trin er at tilføje koden til knappen Annuller, så når databasen lukkes, lukkes databasen.

  1. Føj en On Click-begivenhed til knappen Annuller (samme procedure som knappen Login).
  2. Kopier koden nedenfor.
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4. Indstil loginformularen som visningsformular

Til sidst skal du indstille loginformularen som den standardformular, som brugerne vil se, når de åbner databasen.

  1. Gå til Filer> Indstillinger> Aktuel database.
  2. Indstil skærmformular til frm_login.
  3. Klik på OK.

Du bliver nødt til at lukke databasen og genåbne den for at se, hvordan den fungerer.

Gendan din adgangsdatabase

Tillykke! Du ved nu, hvordan du beskytter din dyrebare database mod ugyldig adgang. Nu giver jeg dig et ekstra tip. Hvis din database af en uheldig årsag er blevet ødelagt, skal du IKKE gå i panik. DataNumen Inc., en ekspert inden for datagendannelsesteknologier, leverer en software, der reparerer beskadiget adgang database. Din database kan stadig gendannes.

Forfatter Introduktion:

Jayme Stack er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder sql opsving og excel-genopretningssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.