ЛАБОРАТОРНАЯ РАБОТА № 3. РАЗРАБОТКА ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ-ПОСТРОЕНИЕ ЭКРАННЫХ ФОРМ

  • doc
  • 13.05.2020
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 125. ЛАБОРАТОРНАЯ РАБОТА № 3. РАЗРАБОТКА ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ-ПОСТРОЕНИЕ ЭКРАННЫХ ФОРМ.doc

Лабораторная работа № 3. Разработка интерфейса пользователя: построение экранных форм

 

Цель: Второй этап реализации приложений – компоновка форм и подчинённых форм из полей таблиц и элементов управления, добавление реакций на действия пользователей (подключение макросов обработки событий).

 

Для уменьшения размера программного файла в разделе меню Сервис выбрать команду Параметры, на закладке Общие установить флажок Сжимать при закрытии. Сохранить установку, нажав кнопку ОК.

Форма  – это объект Access, который отображает данные на экране в рамках некоторого окна. Если форма отображает одну запись в области данных, то она называется простой. Если отображаются одновременно данные из нескольких записей, то форма называется ленточной. Могут использоваться следующие области формы: Заголовок/примечание формы, Колонтитулы (верхний и нижний), Область данных. Для их отображения используйте команды контекстного меню, установив курсор мыши в позиции окна и нажав правую кнопку мыши,  либо раздела Вид основного меню.

Источник данных для формы – это таблица или запрос. Данные из источника данных (см. пункт 3 работы) обычно размещаются в области данных формы – в полях и элементах управления. Назначение отдельных элементов ввода/вывода данных обычно поясняется текстовым полем – меткой.

 

Замечание. Следующие 4 пункта не обязательны для построения ИС «Реализация услуг», а служат для рассмотрения методов работы с простой экранной формой.

 

1. Создайте простую форму (в один столбец) с источником данных – таблицей Накладные. Выбрав в главном окне БД объект Формы, выберите режим Создать. Проще всего воспользоваться Мастером форм, а затем скорректировать расположение элементов формы.  При использовании Конструктора сделайте выбор источника записей (данных) и отобразите перечень полей, нажав кнопку Список полей на Панели инструментов.

2. В Область данных формы перетащите из списка нужные поля и разместите их на форме. Скорректируйте размер области данных. Закройте окно Конструктора, на запрос имени  формы введите ФормаНакладные.

3. В режиме Конструктор, дважды щёлкнув на элементе формы или выбрав команду Свойства из контекстного меню, можно просмотреть и изменить характеристики элемента, сгруппированные в 5 закладок: Макет (атрибуты внешнего вида), Данные (источник данных и свойства доступа к ним), События (можно указать макрос или программу, которая будет выполняться  при совершении событий Удаление, Нажатие кнопки, После обновления и т.д.), Другие, Все.

4. Преобразуйте форму из простой в ленточную (Свойства, Макет, затем Режим по умолчанию заменить с Простая форма на Ленточная форма). Установите оптимальный размер окна.

5. Используя режим «Создание формы с помощью мастера», постройте простую (в ней поля расположены в один столбец) или ленточную форму Клиенты с источником данных – таблицей Клиенты. Возможный вид ленточная форма Клиенты представлен на рис. 2. Затем создайте  5 ленточных форм, источниками данных которых служат таблицы Типы клиентов, Города, Улицы, Услуги и Менеджеры. Формы показаны на рис.  3-5. Дополните  Подпись на закладке Макет поясняющим выражением    “: просмотр, ввод, изменение”. Скопировать эту фразу во все формы.

 

Клиенты

 

Рис. 2. Форма «Клиенты»

 

㿷ᛟ͌

 

Рис. 3. Формы «Города» и «Улицы»

 

Типы клиентов, Менеджеры

 

Рис. 4. Формы «Типы клиентов» и «Менеджеры»

 

Услуги

 

Рис. 5. Форма «Услуги»

 

Форма «Накладные» главная форма ввода данных

 

1. Для построения формы создайте запрос с именем Запрос для формы Накладные, содержащий таблицы Накладные, Клиенты и Услуги. Обратите внимание на порядок размещения элементов управления формы Накладные, представленной на рис. 6. В табличную часть запроса добавьте последовательно поля Код накладной, Дата оплаты, Менеджер, Клиент (из таблицы Накладные), затем поля Тип, Телефон, Город, Улица, Дом и Квартира (из Клиенты), далее – поля Услуга (из Накладные), Тариф (из Услуги), Цена продажи, Количество и Сумма (из Накладные).

 

㿷ᛟ͌

 

Рис. 6. Форма «Накладные»

 

2. На основе созданного запроса создайте при помощи мастера форм, простую форму с именем Накладные. Поля будут размещены мастером в   Области данных формы. Скорректируйте поясняющие тексты к этим полям так, чтобы метки и поля следовали в таком порядке метка “”,  поле Код накладной, метка “от”, поле Дата оплаты.

3. Подключить к форме поле со списком можно вручную или при помощи мастера создания элемента. Используя кнопки Панели инструментов, отобразите на экране Список полей и Панель элементов (формы). Мастер действует, если кнопка Панели элементов с изображением волшебной палочки отжата.

Для примера удалим и при помощи мастера восстановим поле со списком Тип. Выделите его и нажмите Del. Нажав на кнопку Поле со списком на Панели элементов и сразу же щёлкнув по полю Тип в Списке полей, нажмите левую кнопку мыши в нужном месте формы и растяните изображение списка до нужных размеров. Тут то мастер «проснётся» и в диалоговом окне предложит уточнить источник данных поля. Выберите пункт «Поле со списком использует значения из таблицы или запроса». В следующем окне выбрать таблицу Типы клиентов. Далее уточняются поля, которые следует выводить в списке; добавьте в перечень все поля (Код, Название). Отвечая на вопрос, куда будет запоминаться выбираемое из списка значение, следует выбрать вариант Сохранить в поле и указать на поле Тип. В качестве подписи к полю со списком введите «Тип клиента».

В свойствах поля со списком Услуга скорректируйте источник строк, установив в нём сортировку по возрастанию для поля Название услуги.

 

Изменения формы «Накладные»

 

9. Автоматическое заполнение даты. Для поля Дата оплаты на закладке Данные окна Свойства найдите свойство Значение по умолчанию и введите Date() . Эта функция при вводе новой накладной будет автоматически присваивать полю Дата оплаты значение текущей системной даты.

10. Макрос в Access служит для автоматизации часто выполняемых задач,  т.е. используется для записи некоторой последовательности действий, выполняемой в ответ на заданное событие. Например, для события Нажатие клавиши кнопки можно задать макрокоманду ОткрытьФорму, для события После обновления некоторого поля – макрокоманду ЗадатьЗначение другого поля. Можно нажать F1 и в справочной системе Access в разделе “Работа с макросами” получить описание макрокоманд.

11. Вызвать окно, в котором строятся макросы. Для этого выбрать закладку Макросы в главном окне БД и нажать кнопку Создать. В окне Конструктора макросов при необходимости нажать кнопки Имена макросов и Условия на Панели инструментов, чтобы появились соответствующие колонки окна.

12. Автоматическое заполнение полей Цена продажи и Сумма. В режиме конструктора создайте группу макросов Реализация. Введите 2 макроса, используя данные из следующей таблицы:

 

Таблица 3

Макросы вычислений

 

Имя макроса

Макрокоманда

Аргументы макрокоманды

Элемент

Выражение

Сумма

ЗадатьЗначение

[Сумма]

[Цена продажи]*[Количество]

Цена продажи

ЗадатьЗначение

[Цена продажи]

[Тариф]

 

ЗадатьЗначение

[Сумма]

[Цена продажи]*[Количество]

 

Аргументы макрокоманды высвечиваются в отдельном подокне в нижней части окна. 2-я макрокоманда 2-го макроса повторяет макрокоманду 1-го макроса, её строку легко получить копированием строки 1-го макроса и удалением имени в первой колонке, она нужна для пересчёта суммы текущей накладной при изменении значения поля Тариф.

13. Теперь необходимо обеспечить вызов макросов из формы Накладные 1-й макрос должен выполняться по событию После обновления каждого из полей Количество и Цена продажи, 2-й – по событию После обновления каждого из полей Услуга и Тариф. При указании имён макросов надо выбрать из списка (или ввести вручную) полные имена макросов, соответственно  Реализация.Сумма  и  Реализация.Цена продажи .

14. Для быстрого ввода новых клиентов, менеджеров и услуг, которых ещё нет в базе данных, в разделе Примечание формы добавьте кнопки Клиенты, Менеджеры и Услуги. Создайте также кнопку Печать накладной для просмотра и печати на бумагу копии текущей накладной.

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

16. Припишите кнопкам (окно Свойства, закладка События, событие Нажатие кнопки) путем выбора из списка созданные макросы – Реализация.Клиенты, Реализация.Менеджеры и Реализация.Услуги .

17. Для быстрого ввода новых клиентов, менеджеров и услуг, которых ещё нет в базе данных, в разделе Примечание формы рассматриваемой формы Накладные добавлены кнопки Менеджеры, Клиенты и Услуги. Создайте также кнопку Печать, по нажатию которой будет выводиться окно предварительного просмотра печати текущей накладной.

Создайте новый модуль Реализация и дополните его приведённой ниже логической функцией Загружена. Она проверяет, загружена ли форма с заданным именем. В Access-97/2000 в имени функции используйте только латинские буквы, например: IsLoaded.

Для определения функции создайте новый модуль общего доступа и дополните его следующим текстом (содержимое строк после апострофа – это комментарии, которые можно не вводить), обязательно используя позиционный вывод начала строк (Tab – вперёд, Shift-Tab – назад):

 

 

18. Для того, чтобы после вызова форм Менеджеры, Клиенты или Услуги обновить соответствующие списки в самой форме Накладные, создайте, а затем присвойте свойству Включение (оно соответствует активизации формы) макрос Обновить накладную с такими макрокомандами:

 

Таблица 4

Макрос обновления формы «Накладные»

 

Имя

макроса

Условие

Макрокоманда

Аргументы

макрокоманды

Тип

объекта

Имя объекта

Обновить накладную

Загружена("Менеджеры ")

Закрыть

Форма

Менеджеры

 

Загружена("Клиенты")

Закрыть

Форма

Клиенты

 

Загружена("Услуги")

Закрыть

Форма

Услуги

 

 

ОбновитьОбъект

Форма

Накладные

 

В первых трёх командах макроса Обновить накладную функция Загружена проверяет, загружена ли одна из трёх форм. Если «да», то макрокоманда Закрыть закрывает форму. Если «нет», то, во избежание ошибки закрытия закрытой формы, макрокоманда Закрыть не выполняется.

Проверьте работу формы Накладные совместно с формами  Менеджеры, Клиенты и Услуги, которые должны закрываться автоматически при активизации формы Накладные. Добавленные в формах новые менеджеры, клиенты или услуги должны отражаться в списках формы Накладные.

19. Аналогично в форме Клиенты добавьте и активизируйте кнопки вызова форм Типы клиентов, Города и Улицы. Создайте и подключите к событию Включение формы Клиенты макрос Обновить форму Клиенты.

 

Создание главной кнопочной формы

 

20. Создайте форму, из которой нажатием кнопок с надписями вызываются соответствующие формы, отчёты или диаграммы. Возможный вид главной кнопочной формы показан на рис. 7. Можно дополнить форму поясняющими метками, рисунками и другими элементами. Подключите к кнопкам созданные ранее макросы. На кнопку Выход наложите рисунок с названием Выход (см. свойства кнопки).

 

 

Рис. 7. Главная кнопочная форма информационной системы «Реализация услуг»

 

21. Создайте макрос с именем Выход для кнопки выхода из системы. Для этого выберите макрокоманду Выход с единственным аргументом Параметры, равным Сохранить все. В свойство кнопки Нажатие кнопки путём выбора из списка введите имя макроса  Реализация.Выход .

22. При работе в режиме конструктора формы в меню Вид имеется пункт Последовательность перехода, позволяющий изменить порядок перехода между элементами формы при нажатии клавиш ввода (Enter) и табуляции (Tab). При необходимости можно изменить этот порядок.


Скачано с www.znanio.ru