Формулярът за вход е задължителен за бази данни, които съдържат чувствителна информация. Следвайте стъпките по-долу, за да можете да създадете своя собствена форма за влизане, за да защитите вашата база данни от невалиден достъп.
Свали сега
Ако искате да започнете да използвате функцията възможно най-скоро, можете да:
Изтеглете примерната база данни с VBA кодове сега
В противен случай, ако искате да си направите сам, можете да прочетете съдържанието по-долу.
Стъпки за създаване на формуляр за влизане в Access
1. Създайте таблица за влизане
Първото нещо, което трябва да направим, е да създадем таблица, която ще съхранява цялата информация за вход.
- Създайте нова таблица и я наименувайте като tbl_login.
- Отворете таблицата в изглед за проектиране.
- Добавете следните полета със съответните им типове данни:
| Име на полето | Тип данни |
| потребителско име | Автономериране |
| малко име | Кратък текст |
| фамилия | Кратък текст |
| UserName | Кратък текст |
| Парола | Кратък текст |
- Редактирайте маската за въвеждане на паролата, така че да се показва като поредица от звездички (*).
- Изберете полето Парола.
- Отидете в раздела Общи > Маска за въвеждане >...
- Когато се появи съветникът за маска за въвеждане, изберете Парола.
- Кликнете върху Готово.
- Отворете таблицата в изглед на лист с данни и въведете първия запис (вашите данни за вход).
- Затворете таблицата и запазете направените промени.
2. Създайте формата за вход
Създайте празен формуляр с 2 текстови полета и 2 командни бутона (както е показано по-долу). Пропуснете съветника за команден бутон.
По-късно ще се позоваваме на тези контроли на формуляра в нашия код, така че би било най-добре да ги преименуваме, така че да могат лесно да бъдат идентифицирани:
- txt_потребителско име
- txt_парола
- cmd_login
- cmd_cancel
След това променете маската за въвеждане на текстовото поле за парола, така че да се показва и като поредица от звездички (*).
- Докато сте в изглед за проектиране, изберете текстовото поле за парола.
- Отворете листа със свойства (ALT + Enter).
- Отидете в раздела Данни > Маска за въвеждане.
- Изберете парола и щракнете върху Готово.
Сега ще променим някои от свойствата на формуляра от естетически съображения и най-важното, за да гарантираме, че потребителите не могат да го заобиколят, без да въведат правилните данни за вход.
- Докато сте в изглед за проектиране, изберете формуляра (както е показано по-долу).
- Отворете листа със свойства (ALT + Enter) и актуализирайте следните свойства:
- В секцията формат етикет
- Надпис: Вход
- Селектори на записи: Не
- Бутони за навигация: Не
- Ленти за превъртане: нито едно от двете
- Стил на рамка: Диалог
- Бутон за затваряне: Не
- В секцията Други етикет
- Изскачащ прозорец: Да
- Модал: Да
- Меню за бърз достъп: Не
- Запазете формуляра като frm_login.
3. Добавете кода
Добавете събитие On Click към бутона Login.
- Докато сте в изглед за проектиране, изберете бутона Вход.
- Отидете на Лист със свойства > Раздел Събитие > При щракване >...
- Изберете Създател на кодове от менюто Избор на конструктор и щракнете върху OK.
- Това ще отвори редактора на VBA.
- Копирайте кода по-долу.
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
Този код ще:
- Проверете дали полетата за потребителско име и парола не са оставени празни. Ако са, ще се появи подкана.
- Проверете дали данните за вход са правилни, като ги сравните със стойностите в таблицата за вход (tbl_login).
- След като данните за вход бъдат потвърдени, ще се появи подкана, която приветства потребителя.
Следващата стъпка е да добавите кода за бутона Отказ, така че след щракване базата данни да се затвори.
- Добавете събитие при щракване към бутона Отказ (същата процедура с бутона Вход).
- Копирайте кода по-долу.
Private Sub cmd_cancel_Click() DoCmd.Quit acQuitSaveAll End Sub
4. Задайте формуляра за влизане като формуляр за показване
И накрая, задайте формуляра за влизане като формуляр по подразбиране, който потребителите ще виждат при отваряне на базата данни.
- Отидете на Файл > Опции > Текуща база данни.
- Задайте Форма за показване на frm_login.
- Кликнете върху OK.
Ще трябва да затворите базата данни и да я отворите отново, за да видите как работи.
Възстановете вашата база данни за достъп
Честито! Вече знаете как да защитите ценната си база данни от невалиден достъп. Сега ще ви дам един допълнителен съвет. Ако по злощастна причина вашата база данни е била повредена, НЕ се паникьосвайте. DataNumen Inc., експерт в технологиите за възстановяване на данни, предоставя софтуер, който поправя повреден достъп база данни. Вашата база данни все още може да бъде възстановена.
Въведение на автора:
Jayme Stack е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително sql възстановяване и excel софтуерни продукти за възстановяване. За повече информация посетете WWW.datanumen.com



