Отчет по лабораторной работе Базы данных. 8 Лаба БД. 8 лаб работа Пользовательский интерфейс
Скачать 3.03 Mb.
|
Организация помощи пользователюДля вывода подсказок, информационных сообщений и развернутой справки для пользователя можно применять: свойство "Всплывающая подсказка" для элемента управления; кнопки или контекстное меню, вызывающие формы (отчеты) с текстом справки; гиперссылку на файл, содержащий «Руководство пользователя». Первый способ позволяет выводить короткие пояснения, например, для кнопок с рисунками, для полей OLE-объектов, куда нужно вставлять фотографии или звуковые файлы, для полей, содержащих вложения (рисунок 16). Второй способ применяется для текстов размером 1-2 страницы (рис.14) Рисунок 16- всплывающая подсказка для кнопки Внешний по отношению к базе данных файл может быть в любом из форматов (HTML, DOC, PDF), что позволяет использовать документ любого требуемого объема. Однако в последнем случае адрес гиперссылки должен быть доступен пользователю для коррекции, если он изменяет место расположения файла справки. Рекомендую файл БД и файл справки размещать в одной папке. Для вставки простой гиперссылки в режиме конструктора форм выберите на ленте команду «Элементы управления /Гиперссылка». В диалоговом окне (рисунок 17) выберите нужный файл, введите текст ссылки и подсказки. Форматируйте текст надписи гиперссылки, так чтобы он сочетался с другими надписями и кнопками на форме. Рисунок 17- Создание гиперссылки на файл в формате Word Разработка форм для ввода параметров запросовРассмотрим пример запроса, который вычисляет суммарную стоимость заказов из заданного города в заданный период времени (база данных содержит таблицы «Клиенты», «Заказы», «Заказано», «Товары»). В запросе три параметра: «Искомый город», «Начало периода» и «Конец периода». Текст запроса: SELECT DISTINCTROW Sum([КоличествоЗаказано]*[Цена]) AS Сумма FROM Товары INNER JOIN (Клиенты INNER JOIN (Заказы INNER JOIN Заказано ON Заказы.КодЗаказа = Заказано.КодЗаказа) ON Клиенты.КодКлиента = Заказы.КодКлиента) ON Товары.КодТовара = Заказано.КодТовара WHERE [ДатаРазмещения] Between [начало периода] And [окончание периода] GROUP BY Клиенты.Город HAVING Клиенты.Город = [введите город]; Каждый раз, когда запрос открывается, необходимо вводить значения параметров, что становится неудобно при многократном исполнении запроса, если один или два параметра не изменяются. Если значения параметров вводятся с помощью формы, то они сохраняются, пока форма открыта. Кроме того, ввод некоторых параметров можно заменить выбором из списка, использующего справочные таблицы БД. Для управления запросом создадим пустую форму с двумя полями для параметров «Начало и конец периода», как показано на рисунке 18. Свойство «По умолчанию» для полей ввода даты установлено =date(). Имена полей - Поле1 и Поле2. Третий параметр будет вводиться с помощью поля со списком (источник строк - запрос на выборку городов из таблицы «Клиенты»: SELECT DISTINCT [Город] FROM Клиенты ORDER BY [Город]). Рисунок 18 - форма для ввода параметров и запуска запроса Для запуска запроса используется кнопка с надписью «Рассчитать сумму заказов». В свойстве «Нажатие кнопки» - ссылка на внедренный макрос, который открывает запрос с параметрами (рисунок 19). Сохраним форму под именем frmSelection. Рисунок 19 - макрос для обработки кнопки В тексте запроса вместо параметров нужно ввести ссылки на соответствующие поля формы frmSelection:
Чтобы правильно сформировать имя элемента управления на форме, используйте построитель выражений (см. кнопку с волшебной палочкой на ленте в режиме конструирования запроса). Теперь запрос будет работать корректно только в сочетании с открытой формой frmSelection. Пример работы программы показан на рисунке 20. Рисунок 20- ввод параметров запроса в форме Открывающийся в новой вкладке запрос выводит рассчитанную сумму. Для повторного выполнения запроса нужно закрыть окно запроса, изменить значения полей на форме и снова нажать кнопку «Рассчитать…». В качестве упражнения переделайте свой запрос с параметрами, создайте форму для ввода параметров и запуска запроса. Можно использовать главную форму приложения для размещения полей ввода параметров. |