3
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ
ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
М. С. Иванова |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3 |
СОЗДАНИЕ ПОДСИСИТЕМЫ ДЛЯ АДМИНИСТРАТОРА БД |
по курсу: ПРОЕКТНЫЙ ПРАКТИКУМ |
|
|
РАБОТУ ВЫПОЛНИЛА СТУДЕНТКА ГР. |
4716 |
|
|
|
Е.А. Шуб С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2021
Лабораторная работа № 3
Создание подсистемы для администратора БД
Цель работы
Создать модуль для пользователя – «администратор БД.
Выполнение работы
В СУБД MS Access создана форма авторизации, которая при успешной авторизации и вводе графического ключа под логином администратора предоставляет пользователю доступ к данным которые только он может изменять.
Пример работы авторизации изображён на рисунках 1-3. Код авторизации представлен в листинге №1.
Рисунок 1 – Ввод логина пользователя
Рисунок 2 – Ввод пароля
Рисунок 3 – Неверный логин или пароль
На рисунке 4 показано меню администратора, здесь он может открыть таблицы БД для просмотра и редактирования, кроме того ему доступны элементы из меню аналитика. На форме есть возможность выхода из приложения и возврата к авторизации через кнопку «Смена пользователя».
Рисунок 4 – Меню администратора
Все формы для работы с таблицами БД созданы по общему принципу, кнопки со стрелками позволяют перемещаться по записям таблицы вперёд и назад, также можно добавить новую запись, сохранить её или же удалить запись. Кроме того, на всех формах присутствует кнопка «Назад», позволяющая вернуться в меню администратора, результат работы продемонстрирован на рисунках 5 и 6.
Рисунок 5 – Работа с таблицей Учителя
Рисунок 6 – Работа с таблицей Ученики
На рисунках 7-11 показано добавление и удаление новой записи в таблицу Учителя.
Рисунок 9 – Исходная таблица
Рисунок 10 – Добавление новой записи
Рисунок 11 – Запись сохранена
Рисунок 12 – Запись удалена
Вывод
В результате выполнения практического задания в среде СУБД MS Access создана форма для авторизации аналитика и администратора, меню администратора и формы для просмотра и редактирования записей в таблицах БД.
Листинг 1 – Авторизация
Option Compare Database Option Explicit
Private gp As String Private pw As String Private C As Integer Private cc As Integer Private i As Integer
Private Sub Form_Open(Cancel As Integer) gp = "" C = 1 cc = 0 DoCmd.SetProperty "Кнопка10", acPropertyEnabled, "0" DoCmd.SetProperty "Кнопка11", acPropertyEnabled, "0" DoCmd.SetProperty "Кнопка12", acPropertyEnabled, "0"
On Error Resume Next DoCmd.Close acForm, "Users" TempVars.Add "name", InputBox("Введите имя пользователя", "Авторизация") TempVars.Add "password", InputBox("Введите пароль", "Авторизация") DoCmd.OpenForm "Users", acNormal, "", "[Имя пользователя]=[TempVars]![name] And [Пароль]=[TempVars]![password]", acReadOnly, acHidden If (Forms![Users]![Имя пользователя] <> TempVars!Name And Forms![Users]!Пароль <> TempVars!Password) Then MsgBox "Имя пользователя или пароль введены не верно", vbOKOnly, "Ошибка" DoCmd.Close acForm, "Users" DoCmd.Close acForm, "5)Авторизация" End If TempVars.RemoveAll
End Sub
Private Sub Click(b As String) pw = "4268" cc = cc + 1 gp = gp + b If (cc = 4) Then If (gp = pw) Then For i = 1 To 9 DoCmd.SetProperty "Кнопка" & CStr(i), acPropertyEnabled, "0" Next If (Forms![Users]!Удаление) Then DoCmd.SetProperty "Кнопка10", acPropertyEnabled, "1" DoCmd.SetProperty "Кнопка11", acPropertyEnabled, "1" DoCmd.SetProperty "Кнопка12", acPropertyEnabled, "1" ElseIf (Forms![Users]![Добавление и изменение]) Then DoCmd.SetProperty "Кнопка11", acPropertyEnabled, "1" DoCmd.SetProperty "Кнопка12", acPropertyEnabled, "1" ElseIf (Forms![Users]!Просмотр) Then DoCmd.SetProperty "Кнопка12", acPropertyEnabled, "1" Else DoCmd.Close acForm, "Выбрать действие" MsgBox "Ошибка права доступа", vbExclamation, "Ошибка" End If DoCmd.Close acForm, "Users" Else C = C + 1 gp = "" cc = 0 If (C > 3) Then MsgBox "Ключ неверный", vbOKOnly, "Ошибка" DoCmd.Close acForm, "5)Авторизация" Else MsgBox "Ключ неверный. Попытка " & CStr(C) & " из 3.", vbOKOnly, "Ошибка" End If End If End If End Sub |
Листинг 2 – Кнопка перехода в Tableua
Private Sub Кнопка19_Click() Dim go
go = Shell("C:\Program Files\Tableau\Tableau Public 2020.4\bin\tabpublic.exe", 1) End Sub |