Форма входа обязательна для баз данных, содержащих конфиденциальную информацию. Следуйте приведенным ниже инструкциям, чтобы создать собственную форму входа и защитить базу данных от неправомерного доступа.
Скачать сейчас
Если вы хотите сtart использовать функцию как можно скорее, то вы можете:
Загрузите пример базы данных с кодами VBA прямо сейчас
В противном случае, если вы хотите сделать своими руками, вы можете прочитать содержимое ниже.
Шаги по созданию формы входа в Access
1. Создайте таблицу входа
Первое, что нам нужно сделать, это создать таблицу, в которой будет храниться вся информация для входа.
- Создайте новую таблицу и назовите ее как tbl_login.
- Откройте таблицу в режиме конструктора.
- Добавьте следующие поля с соответствующими типами данных:
| Имя поля | Тип данных |
| Идентификатор пользователя | Автонумерация |
| Имя | Короткий текст |
| Фамилия | Короткий текст |
| UserName | Короткий текст |
| Пароль | Короткий текст |
- Отредактируйте маску ввода пароля, чтобы он отображался в виде набора звездочек (*).
- Выберите поле Пароль.
- Перейдите на вкладку «Общие» > «Маска ввода» >…
- Когда появится мастер маски ввода, выберите «Пароль».
- Нажмите «Готово».
- Откройте таблицу в режиме просмотра данных и введите первую запись (ваши данные для входа).
- Закройте таблицу и сохраните внесенные изменения.
2. Создайте форму входа
Создайте пустую форму с двумя текстовыми полями и двумя командными кнопками (как показано ниже). Пропустите мастер командной кнопки.
Мы собираемся ссылаться на эти элементы управления формой в нашем коде позже, поэтому было бы лучше переименовать их, чтобы их можно было легко идентифицировать:
- txt_имя_пользователя
- txt_password
- cmd_login
- cmd_cancel
Затем измените маску ввода текстового поля пароля, чтобы оно также отображалось в виде набора звездочек (*).
- В режиме конструктора выберите текстовое поле пароля.
- Откройте лист свойств (ALT + Enter).
- Перейдите на вкладку «Данные» > «Маска ввода».
- Выберите «Пароль» и нажмите «Готово».
Теперь мы собираемся изменить некоторые свойства формы для эстетических целей и most важно, чтобы пользователи не могли обойти эту форму, не введя правильные данные для входа.
- В режиме конструктора выберите форму (как показано ниже).
- Откройте окно свойств (ALT + Enter) и обновите следующие свойства:
- Под Формат таб
- Надпись: Войти
- Селекторы записей: Нет
- Кнопки навигации: Нет
- Полосы прокрутки: нет
- Стиль границы: диалоговое окно
- Кнопка закрытия: нет
- Под Прочее таб
- Всплывающее окно: Да
- Модальный: Да
- Контекстное меню: Нет
- Сохраните форму как frm_login.
3. Добавьте код
Добавьте событие On Click к кнопке входа.
- В представлении «Дизайн» нажмите кнопку «Войти».
- Перейдите на страницу свойств > вкладка «Событие» > «По щелчку» >…
- Выберите Конструктор кода в меню Choose Builder и нажмите 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).
- После проверки данных для входа появится приглашение, приветствующее пользователя.
Следующим шагом является добавление кода для кнопки «Отмена», чтобы после ее нажатия база данных закрывалась.
- Добавьте событие On Click к кнопке Cancel (такая же процедура с кнопкой Login).
- Скопируйте приведенный ниже код.
Private Sub cmd_cancel_Click() DoCmd.Quit acQuitSaveAll End Sub
4. Установите форму входа в качестве формы отображения
Наконец, установите форму входа в качестве формы по умолчанию, которую пользователи увидят при открытии базы данных.
- Выберите «Файл» > «Параметры» > «Текущая база данных».
- Установите для формы отображения значение frm_login.
- Нажмите кнопку ОК.
Вам придется закрыть базу данных и снова открыть ее, чтобы увидеть, как она работает.
Восстановите базу данных Access
Поздравляем! Теперь вы знаете, как защитить вашу драгоценную базу данных от неправомерного доступа. Теперь я дам вам дополнительный совет. Если по неблагоприятной причине ваша база данных была повреждена, НЕ паникуйте. DataNumen Inc., эксперт в области технологий восстановления данных, предоставляет программное обеспечение, которое восстанавливает поврежден доступ база данных. Ваша база данных все еще может быть восстановлена.
Об авторе:
Джейми Стэк — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая sql восстановление и программные продукты для восстановления Excel. Для получения дополнительной информации посетите www.datanumen.com



