Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
16.04.2021
Размер:
549.79 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ

ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

ассистент

Е.Л.Турнецкая

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №5

Использование VBA для настройки пользовательского интерфейса. Разработка графического пароля

по курсу: БАЗЫ ДАННЫХ

РАБОТУ ВЫПОЛНИЛА

СТУДЕНТКА ГР.

4716

С.А. Янышева

подпись, дата

инициалы, фамилия

Санкт-Петербург

2019

Лабораторная работа № 5

Использование VBA для настройки пользовательского интерфейса. Разработка графического пароля

  1. Цель работы

Настроить пользовательский интерфейс при помощи модулей VBA. Освоить технологию создания графического пароля для аутентификации пользователя в среде MS Access.

  1. Вариант задания

Вариант: 5 Школа.

В школе учатся дети с 1 по 11 классы. При поступлении (переводе) ребёнка в школу необходимы следующие сведения: его Ф.И.О., дата рождения, адрес прописки, дата поступления в школу, сведения о родителях, номер контактного телефона. Ребёнок определяется в конкретный класс (номер, буква). В каждом классе так же есть классный руководитель. Каждый учитель ведёт один предмет в разных классах. Об учителе должно быть известна следующая информация: паспортные данные, начальная дата работы учителем, дата поступления в школу.

  1. Выполнение работы

Была интегрирована макрос и форму, разработанные в предыдущей работе, в новую форму с графическим ключом, при помощи средств VBA. Успешное тестирование продемонстрировано на рисунках 1-4. Листинг программного кода:

Form_5)Авторизация

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

Private Sub Кнопка1_Click()

Click ("1")

End Sub

Private Sub Кнопка2_Click()

Click ("2")

End Sub

Private Sub Кнопка3_Click()

Click ("3")

End Sub

Private Sub Кнопка4_Click()

Click ("4")

End Sub

Private Sub Кнопка5_Click()

Click ("5")

End Sub

Private Sub Кнопка6_Click()

Click ("6")

End Sub

Private Sub Кнопка7_Click()

Click ("7")

End Sub

Private Sub Кнопка8_Click()

Click ("8")

End Sub

Private Sub Кнопка9_Click()

Click ("9")

End Sub

Private Sub Кнопка10_Click()

DoCmd.OpenForm "Полноправное редактирование", acNormal, "", "", , acNormal

End Sub

Private Sub Кнопка11_Click()

DoCmd.OpenForm "Просмотр и редактирование таблиц", acNormal, "", "", , acNormal

End Sub

Private Sub Кнопка12_Click()

DoCmd.OpenForm "Просмотр таблиц", acNormal, "", "", , acNormal

End Sub

Form_5)Графический ключ

Option Compare Database

Option Explicit

Private gp As String

Private pw As String

Private C As Integer

Private cc As Integer

Private Sub Form_Open(Cancel As Integer)

gp = ""

C = 1

cc = 0

End Sub

Private Sub Click(b As String)

pw = "4268"

cc = cc + 1

gp = gp + b

If (cc = 4) Then

If (gp = pw) Then

DoCmd.Close acForm, "5)Графический ключ"

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

Private Sub Кнопка0_Click()

Click ("1")

End Sub

Private Sub Кнопка1_Click()

Click ("2")

End Sub

Private Sub Кнопка2_Click()

Click ("3")

End Sub

Private Sub Кнопка3_Click()

Click ("4")

End Sub

Private Sub Кнопка4_Click()

Click ("5")

End Sub

Private Sub Кнопка5_Click()

Click ("6")

End Sub

Private Sub Кнопка6_Click()

Click ("7")

End Sub

Private Sub Кнопка7_Click()

Click ("8")

End Sub

Private Sub Кнопка8_Click()

Click ("9")

End Sub

Рисунок 1 – Ввод логина пользователя

Рисунок 2 – Ввод пароля

Рисунок 3 – Открыта форма после успешной авторизации, функции не доступны

Рисунок 4 – При успешном вводе графического пароля функции доступны

  1. Выводы

Был настроен пользовательский интерфейс при помощи модулей VBA. Освоены технологии создания графического пароля для аутентификации пользователя в среде MS Access.

  1. Список используемых источников

  1. Преснякова Г.В., Шахомиров А.В. Проектирование реляционных баз данных: учебное пособие. СПб.: ГУАП, 2015. 125с.

  2. Карчевский Е.М., Филиппов И.Е., Филиппова И.А. Access 2010 в примерах: учебное пособие. Казань: Казанский университет, 2012. 140с.

  3. Чарльз Е. Браун, Рон Петруша. Access VBA. Программирование в примерах. Москва: Кудиц-Образ, 2006. 432с.

  4. Голицына О.Л, Попов И.И, Партыка Т.Л. Основы проектирования баз данных: учебное пособие. М.: ФОРУМ, 2014. 415 с.

  5. Гандерлой М., Харкинз, Храмов С.А. Автоматизация Microsoft Access с помощью VBA. М.: Вильямс, 2006. 416 с.

  6. Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010. М.: Вильямс, 2010. 432 с.

Соседние файлы в папке 3курс 1сем