Рисунок 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 – Результат выполнения формы после изменений
Вывод: в результате выполнения данной лабораторной работы были закреплены навыки по созданию таблиц, связей между ними, запросов и форм, разработано информационное приложение в заданной предметной области.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.