Hur du skyddar dina känsliga data med ett inloggningsformulär i Access

Ett inloggningsformulär är ett måste för databaser som innehåller känslig information. Följ stegen nedan så att du kan skapa ditt eget inloggningsformulär för att skydda din databas från ogiltig åtkomst.

Hämta hem nu

Om du vill börja använda funktionen så snart som möjligt kan du:

Ladda ner provdatabasen med VBA-koder nu

Annars kan du läsa innehållet nedan om du vill göra det själv.

Steg för att skapa ett inloggningsformulär i Access

1. Skapa en inloggningstabell

Det första vi behöver göra är att skapa en tabell som lagrar all inloggningsinformation.

  1. Skapa en ny tabell och namnge den som tbl_login.
  2. Öppna bordet i designvy.
  3. Lägg till följande fält med motsvarande datatyper:
Fält namn Data typ
Användar ID Räknare
Förnamn Korttext
Efternamn Korttext
Användarnamn Korttext
Lösenord Korttext

 

  1. Redigera lösenordets inmatningsmask så att det visas som en serie asterisker (*).Redigera lösenordets inmatningsmask
  • Välj lösenordsfältet.
  • Gå till fliken Allmänt> Ingångsmask> ...
  • När guiden Input Mask dyker upp väljer du Lösenord.
  • Klicka på Slutför.
  1. Öppna tabellen i dataarkvyn och ange den första posten (dina inloggningsuppgifter).Ange dina inloggningsuppgifter
  2. Stäng tabellen och spara de ändringar som gjorts.

2. Skapa inloggningsformuläret

Skapa ett tomt formulär med två textrutor och två kommandoknappar (som visas nedan). Hoppa över kommandoknappsguiden.Skapa inloggningsformuläret

Vi kommer att hänvisa till dessa formulärkontroller i vår kod senare så det är bäst att byta namn på dem så att de lätt kan identifieras:

  • txt_användarnamn
  • txt_lösenord
  • cmd_login
  • cmd_avbryt

Ändra sedan inmatningsmasken för lösenordets textruta så att den också visas som en serie asterisker (*).

  1. Välj designrutan för lösenord medan du är i designvy.
  2. Öppna fastighetsbladet (ALT + Enter).
  3. Gå till fliken Data> Inmatningsmask.
  4. Välj Lösenord och klicka på Slutför.

Nu ska vi ändra några av formulärets egenskaper av estetiska skäl och viktigast av allt, för att säkerställa att användare inte kan kringgå formuläret utan att ange korrekta inloggningsuppgifter.

  1. När du är i designvyn, välj formuläret (som visas nedan).Välj formuläret
  2. Öppna fastighetsbladet (ALT + Enter) och uppdatera följande egenskaper:
  • Enligt Format fliken
    • Bildtext: Inloggning
    • Record Selectors: Nej
    • Navigationsknappar: Nej
    • Scroll Bars: Inte heller
    • Gränsstil: Dialog
    • Stäng-knapp: Nej
  • Enligt Övrigt fliken
    • Pop Up: Ja
    • Modal: Ja
    • Genvägsmeny: Nej
  1. Spara formuläret som frm_login.

3. Lägg till koden

Lägg till en On Click-händelse till inloggningsknappen.

  1. Välj inloggningsknappen medan du är i designvyn.
  2. Gå till fastighetsbladet> fliken händelse> vid klick> ...
  3. Välja Kodbyggare från menyn Välj byggmästare och klicka på OK.
  4. Detta öppnar VBA Editor.
  5. Kopiera koden nedan.
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

Den här koden kommer att:

  1. Kontrollera om användarnamn och lösenordsfält inte lämnas tomma. Om de är det kommer en uppmaning att visas.
  2. Kontrollera om inloggningsuppgifterna är korrekta genom att jämföra dem med värdena i inloggningstabellen (tbl_login).
  3. När inloggningsuppgifterna har verifierats visas en uppmaning som välkomnar användaren.

Nästa steg är att lägga till koden för knappen Avbryt så att databasen stängs när den väl har klickats.

  1. Lägg till en On Click-händelse till knappen Avbryt (samma procedur som knappen Login).
  2. Kopiera koden nedan.
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4. Ställ in inloggningsformuläret som visningsformulär

Slutligen, ställ in inloggningsformuläret som standardformuläret som användarna ser när de öppnar databasen.

  1. Gå till Arkiv> Alternativ> Aktuell databas.
  2. Ställ in visningsformulär på frm_login.
  3. Klicka på OK.

Du måste stänga databasen och öppna den igen för att se hur den fungerar.

Återställ din åtkomstdatabas

Grattis! Du vet nu hur du skyddar din värdefulla databas från ogiltig åtkomst. Nu ska jag ge dig ett extra tips. Om din databas av en olycklig anledning har skadats, ska du INTE få panik. DataNumen Inc., en expert inom dataåterställningsteknik, tillhandahåller en programvara som repareras skadad Access databas. Din databas kan fortfarande återställas.

Författarintroduktion:

Jayme Stack är en dataåterställningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive SQL-återhämtning och Excel-programvara för återställningsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.