СУБД MS Access: разработка и автоматизация информационного приложения в заданной предметной области. Разработка базы данных отдела маркетинга в среде MS Access, страница 2

Рисунок 22 – Конструктор запроса Максимальный товар

Рисунок 23 – Результат выполнения запроса Максимальный товар

Рисунок 24 – Конструктор запроса Удаление информации о заказчике

 

Рисунок 25 – Выполнение запроса Удаление информации о заказчике

В результате выполнения задания созданы формы на основе имеющихся таблиц.

Для ввода и отображения данных из таблиц, находящихся на стороне отношения Многие использовались подчиненные формы.

Форма для ввода данных о заказчиках: Для создания формы открываем конструктор форм. В качестве источника записей выбираем таблицу «Заказчики» и помещаем на форму поле «Имя заказчика». Режим формы «Простая».  Затем помещаем на форму элемент «Подчиненная форма». В качестве источника – форма «Заказы». Сохраняем форму.

Рисунок 24 – Форма Ввод заказчиков

Рисунок 25 – Форма Ввод товаров

Рисунок 26 – Форма Заказы

Созданы макросы для открытия всех ранее заданных форм и запросов по следующему алгоритму (для запросов алгоритм аналогичен):

1)  в окне базы данных выбрать вкладку Макросы и нажать кнопку Создать;

2)  в окне макроса выбрать из раскрывающегося списка столбца «Макрокоманда» необходимую макрокоманду (например, Открыть форму);

3)  задать аргументы этой макрокоманды (например, Имя формы, Режим, Имя фильтра, Условие отбора, Режим данных, Режим окна);

4)  сохранить макрос под некоторым именем.

Рисунок 27 –Макрос Ввод заказчиков

Создана форма «Панель управления», содержащую кнопки вызова запросов и кнопки открытия форм редактирования.

Форма «ПанельУправления»: Для создания формы открываем конструктор. Создаем на форме 10 кнопок. Для каждой кнопки появится диалоговое окно. В этом окне на вкладке «Категории» выбираем пункт Разное, а на вкладке «Действия» выбираем пункт «Выполнить макрос» - для открытия форм и «Выполнить запрос» - для выполнения запросов. Далее выбираем соответствующий макрос или запрос для соответствующей кнопок и применяем изменения.

Рисунок 28 –Форма Панель управления

Связывание макросов открытия форм и запросов с формой Панель управления осуществлялось следующим образом:

1)  Открываем форму в режиме конструктора.

2)  Выделяем элемент (в данном случае - кнопку).

3)  В окне свойств этого элемента управления выбираем вкладку События.

4)  В раскрывающемся списке для строки, соответствующей выбранному событию (например, нажатию кнопки), выбираем созданный нами макрос.

5)  Сохраняем изменения.

Для создания формы ввода пароля открываем новую форму в режиме конструктора и помещаем на нее элементы “кнопка” и “текстовое поле”.

Для текстового поля в свойствах, закладке “данные” устанавливаем свойство поля “Маска ввода” в значение “Пароль”.

Для кнопки выбираем пункт “Обработка событий” и в построителе выбираем пункт “Программы”. Далее набираем текст программы на языке Visual Basic.

Текст программы:

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

If Me.Поле0.Value = "12345" Then

   DoCmd.OpenForm ("Панель управления")

Else

MsgBox ("Неверный пароль")

EndIf

EndSub

Делаем эту форму стартовой. Теперь при открытии базы данных эта форма будет появляться первой и будет требоваться ввод пароля для доступа к данным.

Рисунок 29 – Главная форма

Для создания процедур обработки событий для элементов управления (полей) нужно выполнить действия:

1) Открываем свойство поле События – Потеря фокуса – [Процедура обработки событий]

2) Далее для поля задать программную обработку данных и ввести код :

Option Compare Database

Private Sub Form_AfterUpdate()

End Sub

Private Sub Дата_заказа_LostFocus()

If IsNull(Me![Дата заказа]) Then

MsgBox "Введите дату заказа"

DoCmd.GoToControl "Дата заказа"

End If

End Sub

Private Sub Имя_заказчика_LostFocus()

If IsNull(Me![Имя заказчика]) Then

MsgBox "Введите имя заказчика"

DoCmd.GoToControl "Имя заказчика"

    End If

End Sub

PrivateSub Количество_товаров_LostFocus()

IfIsNull(Me![Количество товаров]) Then

MsgBox "Введите количество товаров"

DoCmd.GoToControl "Количество товаров"

End If

End Sub

Private Sub Поле11_LostFocus()

If IsNull(Me![Поле11]) Then

MsgBox "Введите стоимость заказа"

DoCmd.GoToControl "Поле11"

End If

End Sub

Option Compare Database

Private Sub Код_товара_LostFocus()

If IsNull(Me![Код товара]) Then

MsgBox "Введите наименование товара"

DoCmd.GoToControl "Код товара"

EndIf

EndSub

PrivateSub Количество_товара_LostFocus()

IfIsNull(Me![Количество товара]) Then

MsgBox "Введите количество товара"

DoCmd.GoToControl "Количествотовара"

    End If

End Sub

3) Сохранить изменения

Рисунок 30 – Результат выполнения формы после изменений

Вывод: в результате выполнения данной лабораторной работы были закреплены навыки по созданию таблиц, связей между ними, запросов и форм, разработано информационное приложение в заданной предметной области.