Как да защитите чувствителните си данни с формуляр за влизане в Access

Споделете сега:

Формулярът за вход е задължителен за бази данни, които съдържат чувствителна информация. Следвайте стъпките по-долу, за да можете да създадете своя собствена форма за влизане, за да защитите вашата база данни от невалиден достъп.

Свали сега

Ако искате да започнете да използвате функцията възможно най-скоро, можете да:

Изтеглете примерната база данни с VBA кодове сега

В противен случай, ако искате да си направите сам, можете да прочетете съдържанието по-долу.

Стъпки за създаване на формуляр за влизане в Access

1. Създайте таблица за влизане

Първото нещо, което трябва да направим, е да създадем таблица, която ще съхранява цялата информация за вход.

  1. Създайте нова таблица и я наименувайте като tbl_login.
  2. Отворете таблицата в изглед за проектиране.
  3. Добавете следните полета със съответните им типове данни:
Име на полето Тип данни
потребителско име Автономериране
малко име Кратък текст
фамилия Кратък текст
UserName Кратък текст
Парола Кратък текст

 

  1. Редактирайте маската за въвеждане на паролата, така че да се показва като поредица от звездички (*).Редактирайте маската за въвеждане на паролата
  • Изберете полето Парола.
  • Отидете в раздела Общи > Маска за въвеждане >...
  • Когато се появи съветникът за маска за въвеждане, изберете Парола.
  • Кликнете върху Готово.
  1. Отворете таблицата в изглед на лист с данни и въведете първия запис (вашите данни за вход).Въведете своите данни за вход
  2. Затворете таблицата и запазете направените промени.

2. Създайте формата за вход

Създайте празен формуляр с 2 текстови полета и 2 командни бутона (както е показано по-долу). Пропуснете съветника за команден бутон.Създайте формуляра за вход

По-късно ще се позоваваме на тези контроли на формуляра в нашия код, така че би било най-добре да ги преименуваме, така че да могат лесно да бъдат идентифицирани:

  • txt_потребителско име
  • txt_парола
  • cmd_login
  • cmd_cancel

След това променете маската за въвеждане на текстовото поле за парола, така че да се показва и като поредица от звездички (*).

  1. Докато сте в изглед за проектиране, изберете текстовото поле за парола.
  2. Отворете листа със свойства (ALT + Enter).
  3. Отидете в раздела Данни > Маска за въвеждане.
  4. Изберете парола и щракнете върху Готово.

Сега ще променим някои от свойствата на формуляра от естетически съображения и най-важното, за да гарантираме, че потребителите не могат да го заобиколят, без да въведат правилните данни за вход.

  1. Докато сте в изглед за проектиране, изберете формуляра (както е показано по-долу).Изберете Формуляра
  2. Отворете листа със свойства (ALT + Enter) и актуализирайте следните свойства:
  • В секцията формат етикет
    • Надпис: Вход
    • Селектори на записи: Не
    • Бутони за навигация: Не
    • Ленти за превъртане: нито едно от двете
    • Стил на рамка: Диалог
    • Бутон за затваряне: Не
  • В секцията Други етикет
    • Изскачащ прозорец: Да
    • Модал: Да
    • Меню за бърз достъп: Не
  1. Запазете формуляра като frm_login.

3. Добавете кода

Добавете събитие On Click към бутона Login.

  1. Докато сте в изглед за проектиране, изберете бутона Вход.
  2. Отидете на Лист със свойства > Раздел Събитие > При щракване >...
  3. Изберете Създател на кодове от менюто Избор на конструктор и щракнете върху OK.
  4. Това ще отвори редактора на VBA.
  5. Копирайте кода по-долу.
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

Този код ще:

  1. Проверете дали полетата за потребителско име и парола не са оставени празни. Ако са, ще се появи подкана.
  2. Проверете дали данните за вход са правилни, като ги сравните със стойностите в таблицата за вход (tbl_login).
  3. След като данните за вход бъдат потвърдени, ще се появи подкана, която приветства потребителя.

Следващата стъпка е да добавите кода за бутона Отказ, така че след щракване базата данни да се затвори.

  1. Добавете събитие при щракване към бутона Отказ (същата процедура с бутона Вход).
  2. Копирайте кода по-долу.
Private Sub cmd_cancel_Click()
   DoCmd.Quit acQuitSaveAll
End Sub

4. Задайте формуляра за влизане като формуляр за показване

И накрая, задайте формуляра за влизане като формуляр по подразбиране, който потребителите ще виждат при отваряне на базата данни.

  1. Отидете на Файл > Опции > Текуща база данни.
  2. Задайте Форма за показване на frm_login.
  3. Кликнете върху OK.

Ще трябва да затворите базата данни и да я отворите отново, за да видите как работи.

Възстановете вашата база данни за достъп

Честито! Вече знаете как да защитите ценната си база данни от невалиден достъп. Сега ще ви дам един допълнителен съвет. Ако по злощастна причина вашата база данни е била повредена, НЕ се паникьосвайте. DataNumen Inc., експерт в технологиите за възстановяване на данни, предоставя софтуер, който поправя повреден достъп база данни. Вашата база данни все още може да бъде възстановена.

Въведение на автора:

Jayme Stack е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително sql възстановяване и excel софтуерни продукти за възстановяване. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.