Глава 8
ТЕХНОЛОГИЯ РАЗРАБОТКИ ФОРМ В СУБД MICROSOFT ACCESS
8.1. Назначение форм в системах управления базами данных
Создание современных прикладных программ или, как их называют в системах Windows, пользовательских приложений, требует разработки «дружественного» интерфейса пользователя, т. е. эффективных способов организации диалога между пользователем и компьютером. Одним из способов организации такого диалога является разработка форм. Система Microsoft Access предоставляет разработчику приложений мощные средства создания диалоговых форм следующего назначения:
-
ввод данных в таблицы;
-
ввод условий обработки информации в запросы;
-
организация пользовательского интерфейса.
Формы для ввода данных в таблицы должны обеспечивать организацию процедур внесения информации, сводящую к минимуму возможность ошибок оператора. Кроме того, такие формы должны обеспечивать проведение анализа имеющихся в таблицах данных.
Формы для ввода условий обработки информации в запросы, имеющие аналогичное назначение, позволяют также конструировать запросы без применения языка SQL.
Формы для организации пользовательского интерфейса, которые должны обеспечивать создание эффективного оформления разработанной прикладной программы, могут быть различного назначения: формы-заставки, формы-меню, кнопочные формы и др.
8.2. Технология разработки форм для ввода данных
в таблицы
Формы для ввода данных, представляющие собой удобный и интуитивно понятный интерфейс пользователя при работе с таблицами БД, обеспечивают выполнение следующих операций: ввод и добавление данных; просмотр любой записи; корректировку Данных.
На рис. 8.1 показана форма ввода данных в одну из таблиц САПР ТП «ЛАЗЕР 2000» (см. гл. 16).
Создание форм для ввода данных в таблицы производится в следующем порядке:
101
=> выделить (активизировать) объект Формы в окне базы данных;
=> выбрать команду Создать;
=> в появившемся диалоговом окне Новая форма (рис. 8.2) выбрать таблицу (из списка), для которой создается форма;
=> выбрать способ создания формы.
Система Access предлагает разработчику базы данных семь способов проектирования форм: Конструктор; Мастер форм; Автоформа: в столбец; Автоформа: ленточная; Автоформа: табличная; Диаграмма; Сводная таблица.
Для создания форм ввода данных рекомендуется применять способ автоматизированного проектирования форм Автоформа: в столбец, который можно считать самым распространенным при создании интерфейса пользователя. В случае использования этого способа создания формы все поля таблицы располагаются в один столбец, т.е. каждое поле находится в одной строке. Подпись поля соответствует заданному в таблице имени. На одном листе (экране) располагаются поля для ввода данных одной записи.
Полученную таким способом форму можно затем доработать, открыв ее в режиме Конструктор (который применяют также для самостоятельного создания форм).
102
В табличной форме на одном листе представляется одновременно столько записей, сколько умещается на экране монитора (рис. 8.3). При этом каждая запись занимает одну строку.
Форму-диаграмму рекомендуется разрабатывать для просмотра табличных данных в виде различных диаграмм или графиков. Очевидно, что такие формы необходимы при обработке результатов экономической деятельности фирмы или научных экспериментов.
В сводной таблице одновременно может быть представлена информация из двух связанных таблиц, одна из которых считается главной, а другая — подчиненной. Причем подчиненная таблица встроена в форму главной таблицы.
На рис. 8.4 показано окно конструктора форм, состоящего из следующих блоков: Заголовок формы, Область данных, Примечание формы. Назначение этих блоков однозначно определяется их названиями.
103
Рассмотрим назначение команд, которые используются при конструировании формы.
Рис. 8.4. Окно конструктора форм
Команда Надпись предназначена для ввода текста надписей в любой блок конструктора форм:
=* нажать кнопку [Надпись] с помощью левой кнопки мыши и, не отпуская кнопку мыши, поместить курсор в начало вводимого текста;
=> отпустить кнопку мыши и ввести текст (технология ввода текста и его оформления полностью аналогичны технологии работы с текстом в редакторе Word).
Примечание. Для размещения надписи в нескольких строках требуется в конце первой строки текста нажать клавиши [Ctrl] + [Enter] для ввода символа возврата каретки. В этом случае последующие строки текста будут автоматически переноситься, а максимальная ширина надписи определится длиной первой строки.
Кнопки [Поле], [Поле со списком], [Список], предназначен-ные для создания соответствующих полей ввода данных, используются при проектировании форм ввода данных в запросы.
104
Причем, если форма ввода данных в таблицу была разработана одним из автоматических методов, то поля автоматически размещаются в области данных конструктора форм и пользователь уже не обращается к этим командам.
При самостоятельном конструировании формы ввода данных в таблицу размещение полей производится «перетаскиванием» поля КЗ списка полей таблицы. Для этого в режиме Конструктор необходимо активизировать команду меню Вид, выбрать команду Список полей и из появившегося в окне списка последовательно «перетащить» поля, размещая их в области данных конструктора таблиц (рис. 8.5). Последовательность переноса и размещения полей должна соответствовать предполагаемой последовательности ввода данных.
Кнопки [Группа переключателей), [Выключатель], [Включатель], [Флажок] предназначены для организации ввода данных в поля логического типа.
Команда Кнопка предназначена для создания управляющих кнопок при работе с формами.
Команда Рисунок служит для вставки рисунков в форму. Технология вставки рисунков в этом случае аналогична технологии вставки рисунков в документ в редакторе Word.
105
В окне, открываемом командой Свободная рамка объекта, отображаются данные полей таблицы типа OLE-объектов. При авто-
матическом создании таблиц такие окна в форме создаются также автоматически.
В окне, открываемом командой Присоединенная рамка объекта, можно разместить OLE-объект, находящийся в другом файле или другой БД.
Команда Разрыв страницы применяется в случае, если поля для ввода данных не размещаются на одной странице (экране дисплея).
Команда Набор вкладок применяется в случае, если поля для ввода данных не помещаются на одной странице (экране дисплея). При этом создание соответствующей вкладки рекомендуется для каждой группы полей, объединенных по каким-либо признакам. Технология размещения полей в процессе конструирования формы основана на «перетаскивании* поля из списка в соответствующее место на вкладке.
Команда Подчиненная форма {отчет) применяется при разработке составных форм, которые, как правило, разрабатываются для таблиц, связанных отношением один—ко многим. В этом случае одна таблица является главной, а другая — подчиненной. При проектировании составных форм ввода данных одну из форм также называют главной, а другую — подчиненной. Схема разработки составных форм включает в себя разработку формы ввода данных в подчиненную таблицу и разработку формы ввода данных в главную таблицу, в которой необходимо предусмотреть область
для вставки подчиненной формы, используя для этого команду (кнопку) Подчиненная форма.
Конструирование составной формы ввода информации показано на примере создания баз данных для автоматизированного проектирования маршрутных карт технологических процессов сборки в САПР «ЛАЗЕР 2000*.
На рис. 8.6 и 8.7 приведены две страницы главной формы, разработанной в диалоговом режиме, а на рис. 8.8 и 8.9 — соответственно формы ввода данных в главную и подчиненную таблицы, разработанные в режиме конструктора.
8.3. Технология разработки форм для ввода данных
в запросы
Рассмотрим технологию создания параметрических запросов и связанных с ними форм для ввода условий отбора данных. Необходимость разработки специальных форм в этом случае обусловлена следующими факторами:
-
требованием сведения к минимуму или исключения ошибок при вводе условий отбора данных;
-
необходимостью выполнения запроса при часто меняющихся значениях условий отбора данных;
107
• созданием баз данных, организованных по архитектуре клиент—сервер.
Технология разработки таких форм и запросов полностью соответствует методам, изложенным б подразд. 7.3. и 8.2. Особенностью является лишь порядок их проектирования:
=> разработать запрос без ввода условий отбора данных;
=* разработать форму ввода условий для отбора данных;
=* открыть запрос в режиме конструктора;
=* установить курсор в ячейку строки Условие отбора для соответствующего поля;
=* построить выражение, устанавливающее связь условия отбора данных со значением соответствующего поля формы.
В качестве примера снова используем базу данных для составления и анализа нагрузки преподавателей.
В процессе работы с базой данных достаточно часто приходится делать выборку записей из таблицы Нагрузка преподавателя по фамилиям, для чего был разработан соответствующий запрос (рис. 8.10). Для выполнения такого запроса в ячейку поля ФИО в строке Условие отбора необходимо ввести фамилию и инициалы преподавателя.
Для ввода фамилии была разработана форма, представленная на рис. 8.11, в которой предусмотрено специальное поле со списком.
* п кг j j at jg. 2Щ j 1 Щсато.4 В *мп -1 Ш г««.. | ЕЯ Нт»~ I: Щ^ ul [Я.нагр"" I 'ЩДК^#Й Ё)^;]^Щ
Рис. $.10. Запрос на выбор данных по значению поля ФИО
109
После разработки формы в соответствующем запросе Нагрузка преподавателя (см. рис. 8.10) в строке Условие отбора в ячейке поля ФИО строится выражение, имеющее вид [РогтзЩНагружа ка-федры]\[ПолеСоСпискомО\, где Forms— ключевое слово, обозначающее объект БД (в данном случае форму); Нагрузка кафедры — имя объекта базы данных (формы); ПояеСоСпискомО — имя поля в форме, значения которого являются условиями отбора данных для поля ФИО в запросе Нагрузка преподавателя.
Квадратные скобки и восклицательный знак являются элементами грамматики построения этого выражения.
Построение подобных выражений проще всего выполнить с применением мастера Построитель выражений (рис. 8.12). Для этого после разработки формы необходимо:
=$■ открыть запрос в режиме конструктора;
=> установить курсор в ячейку строки Условие отбора;
=} открыть построитель выражений.
После открытия окна построителя выражений необходимо выполнить следующие действия:
=> выбрать объект БД, щелкнув мышью по соответствующему значку (в данном случае Forms);
=> в открывшемся списке объектов данного типа выбрать требуемое имя объекта (формы);
Рис. 8Л2. Окно построителя выражений
=> в открывшемся далее окне из появившегося списка всех элементов объекта БД (поля, подписи, кнопки и др.) следует выбрать ПолеСоСпискомО.
В результате изложенных действий сформируется выражение, связывающее условие отбора данных в запросе с вводимыми значениями в поле формы.
8.4. Технология разработки форм для организации пользовательского интерфейса
Конечной задачей разработки любого приложения является создание удобного пользовательского интерфейса. Разработка пользовательского интерфейса аналогична созданию сценария фильма как определенной последовательности появления на дисплее экранных форм. Система Access со встроенными в нее программными средствами, в частности с языком программирования Visual Basic, позволяет разработчику создавать интерфейс пользователя с минимальными затратами, так как при разработке форм пользовательского интерфейса в среде Access реализуется Метод объектно-ориентированного программирования. Сущность этого метода состоит в том, что разработчик описывает свойства
Ш
объектов, а программа в соответствии с этими свойствами формирует на экране заданные объекты.
Очевидно, что разработка пользовательского интерфейса, несмотря на имеющиеся инструментальные средства, является искусством. Поэтому при разработке коммерческих систем для создания пользовательского интерфейса необходимо прибегать к услугам дизайнеров. Сценарий приложения, т. е. состав и последовательность форм, определяется разработчиком в соответствии с алгоритмом решения конкретной задачи.
Для разработки форм пользовательского интерфейса применяются методы и средства, рассмотренные при описании технологии создания форм ввода данных в таблицы и запросы. Следует отметить, что формы ввода данных в таблицы и запросы таюке являются частью пользовательского интерфейса.
Основным методом создания форм в данном случае является их разработка в режиме конструктора, описание которого достаточно подробно было изложено ранее. Рассмотрим технологию создания управляющих элементов, позволяющих автоматизировать работу с базой данных.
Наиболее распространенным методом разработки форм пользовательского интерфейса является создание так называемых кнопочных форм, в которых одним из объектов управления являются кнопки. «Нажатие» на такую кнопку определяет выполнение какого-либо действия, например открытие формы или запроса, распечатку отчета, выход из приложения и др.
Итак, пользовательский интерфейс рассматривается как некоторая последовательность экранных форм, соответствующих алгоритму действий при работе с системой.
Очевидно, что экранные формы должны иметь элементы управления всеми объектами базы данных, включая таблицы, запросы, отчеты. Выполняемые действия при работе с базами данных могут программироваться в виде макросов и программных модулей (программ).
Макросы представляют собой набор макрокоманд, автоматизирующих работу с элементами базы данных. Модули — это программы, написанные на языке Visual Basic.
8.5. Технология работы с формами при анализе данных
Разработанная форма ввода данных в таблицу позволяет пользователю выполнить следующие действия: ввести и добавить данные, просмотреть любую запись, откорректировать данные.
Ввод и добавление данных. Технологические приемы ввода данных рассмотрим на примере формы, показанной на рис. 8.13.
112
Кнопка перехода на новую запись
Кнопки перехода к предыдущей и следующей записям
Кнопки перехода к первой и последней записям таблицы
Рис. 8.13. Пример формы ввода данных в таблицу
Данная форма является составной и предназначена для ввода Данных в две связанные таблицы: Виды технологических операций и Типы технологических операций.
Технология ввода информации в поле такой формы аналогична технологии ввода информации в таблицы в редакторе Word.
Просмотр записей и корректировка данных. Б процессе работы с таблицами может возникнуть необходимость просмотра содержания какой-либо записи и введения исправления, т. е. изменения данных в каком-либо поле. Для этого необходимо выполнить следующие действия:
=> открыть форму (рис. 8.14);
=> установить курсор в окно поля, по значению которого будет Найдена искомая запись (ввод имени поля, по которому будет производиться поиск, можно выполнить непосредственно в диалоговом окне Поиск и замена);
=> выбрать в меню Правка команду Найти или активизировать соответствующую кнопку на панели инструментов;
=> в открывшееся диалоговое окно Поиск и замена ввести значение одного из полей интересующей записи;
ш
114
=> щелкнуть мышью по кнопке Найти далее.
В результате выполненных действий в окне формы ввода данных появятся значения всех полей искомой записи.
На рис. 8.14 показан пример поиска записи для операции № 25 в таблице, содержащей описание технологической операции сборки изделия 005. В момент открытия таблицы в области данных формы показано содержание операции № 5. После активизации команды Найти на панели инструментов появляется диалоговое окно Поиск и замена, в поле Образец которого было введено значение поля Л* on, равное 25. После «нажатия» кнопки [Найти далее] система производит поиск записи и выводит значения всех полей для операции 25 (рис. 8.15).
При необходимости изменения значения поля в диалоговом окне Поиск и замена следует открыть вкладку Замена и произвести соответственно корректировку или замену данных в поле № ОП.
Контрольные вопросы
-
Какие процедуры при работе с информацией обеспечивают формы ввода данных в таблицы?
-
Какие вы знаете виды форм и способы их конструирования, используемые в системе Access?
-
Из каких блоков состоит конструктор форм?
-
Какие команды управления (кнопки) содержит панель элементов конструктора форм и каково их назначение?
-
В какой последовательности необходимо разрабатывать составные формы ввода данных в таблицы, связанные отношением один—ко многим?
-
Что такое пользовательский интерфейс?
-
На чем основан метод объектно-ориентированного программирования?
-
Что такое кнопочные формы и для каких целей их разрабатывают?
-
Какова последовательность проектирования запросов с формами для ввода условий отбора данных?
-
Какова последовательность действий при построении выражений с помощью конструктора?
-
Что означает выражение [Рогт$\\{Нагрузкакафедры\\{ПолеСоСпис-комО\1
12. Какие кнопки имеются в форме ввода данных для просмотра записей?
-
Какова последовательность ввода данных в связанные таблицы с применением составных форм?
-
Какова последовательность действий при просмотре первой или последней записи в форме ввода данных?
-
Какова последовательность действий при вводе новой записи?
-
Какова последовательность действий при просмотре любой записи в форме ввода данных?
-
Какова последовательность действий при редактировании и последующем вводе данных в поле любой записи?
Гл а в а 9
ТЕХНОЛОГИЯ РАЗРАБОТКИ ОТЧЕТОВ В СУБД MICROSOFT ACCESS
9.1. Назначение отчетов в системах управления базами данных
Отчеты, как правило, разрабатывают для вывода на печать результатов обработки информации. Отчеты аналогично формам могут быть связаны как с таблицами, так и с запросами. В первом случае в отчете будет помещена информация из всей таблицы, во втором — только те записи, которые отвечают условиям соответствующего запроса.
По сравнению с выводом на печать информации непосредственно из таблицы или результата выполнения запроса отчеты обладают следующими преимуществами:
-
позволяют производить группировку данных по отдельным полям, причем группировка данных может носить иерархический (до 10 уровней) характер;
-
позволяют выводить данные с выполнением вычислений по числовым полям (промежуточных вычислений — по группам записей, итоговых — по всему числовому полю);
-
могут оформляться в виде таблиц, структура которых принята на конкретном предприятии. Например, в виде накладных приема или отгрузки товара на склад, маршрутных или операционных карт технологических процессов в системах автоматизированного проектирования и др.
В отчеты можно вставлять рисунки, диаграммы и другие OLE-объекты, связанные и не связанные с полями таблицы базы данных, а также заголовки разделов и другие текстовые примечания. Отчеты могут быть использованы для презентаций, рекламирующих деятельность фирмы, и могут включать в себя подчиненные отчеты.
Перед выводом на печать отчет можно предварительно просмотреть на экране.
9.2. Технология разработки отчетов
Начало работы по созданию отчета аналогично технологии работы по созданию формы:
=> открыть базу данных;
=> в окне базы данных выделить объект Отчеты.
Открывшееся окно объектов БД Отчеты (рис. 9.1) содержит способы создания новых и перечень ранее разработанных отчетов.
116
Для создания нового отчета в системе Access 2000 предлагается два способа: создание отчета в режиме конструктора и создание отчета с помощью мастера.
Создание отчета в режиме конструктора рекомендуется производить после приобретения навыков создания отчетов с помощью мастера. Поэтому сначала рассмотрим последний вариант.
Создание отчета с помощью мастера представляет собой определенную последовательность ответов на вопросы в последовательно открывающихся диалоговых формах.
В первой диалоговой форме, показанной на рис. 9.2, следует:
=> выбрать таблицу или запрос, на основе которых будет составлен отчет;
=> выбрать поля, значения которых будут выводиться в отчет;
=*■ после выполнения всех действий щелкнуть мышью по кнопке [Далее].
В открывшемся диалоговом окне, показанном на рис. 9.3, следует добавить уровни группировки по отдельным полям. В данном примере предусмотрены два уровня группировки данных в отчете. На первом уровне все данные будут сгруппированы по фамилиям преподавателей, т. е. по полю ФИО, а на втором — для каждого преподавателя по семестрам (весеннему и осеннему), т.е. по полю Семестр.
В следующем открывшемся диалоговом окне (рис. 9.4) необходимо выбрать порядок сортировки записей «по возрастанию» или
117
Рис. 9.3. Окно определения уровней группировки по выделенным полям 118
«убыванию» и числовые поля, по которым требуется выполнить итоговые вычисления.
В приведенном примере для сортировки данных выбрано поле Предмет. Это означает, что при оформлении отчета наименования всех предметов, по которым каждый преподаватель читает лекции, проводит лабораторные работы или руководит выполнением курсовых работ, будут в каждом семестре располагаться в алфавитном порядке, т.е. «по возрастанию».
Для выбора полей подведения итогов необходимо после установления порядка сортировки щелкнуть мышью по кнопке J Итоги...]. В результате откроется новое диалоговое окно, где следует выделить числовые поля, для которых предусматриваются итоговые вычисления. В приведенном примере предусмотрен подсчет часов по всем числовым полям.
Обратим внимание на следующие указания окна Итоги (см. рис. 9.4), определяющие выбор характера итоговых вычислений: Данные и итоги или Только итоги.
■ В первом случае в отчет будут выведены записи по всем предметам с указанием числа часов по каждому полю и еще одна строка, в которой будут показаны результаты вычислений (суммирование) по всем выделенным числовым полям. Такую форму вывода информации называют отчетом с группировкой данных и подведением итогов.
119
120
121
Во втором случае для каждого преподавателя будут показаны результаты вычислений по каждому семестру без указания наименований предметов (суммарное число часов в семестре по каждому полю).
После выполнения всех указанных действий в диалоговом окне, показанном на рис. 9.5, будут представлены виды макетов отображения данных в отчете. После выбора макета отображения данных откроется окно стилей оформления отчета (рис. 9.6).
Выбором одного из стилей оформления разработка отчета практически заканчивается. Остается только присвоить отчету имя, что производится в последнем диалоговом окне мастера составления отчетов (рис. 9.7).
На рис. 9.8 представлен пример отчета с группировкой данных и подведением итогов, а на рис. 9.9 — пример итогового отчета.
Контрольные вопросы
-
Для каких целей разрабатываются отчеты в базах данных?
-
Какие способы создания отчетов имеются в Microsoft Access?
-
Для каких целей разрабатывается и что представляет собой отчет с группировкой данных?
-
Для каких целей разрабатывается и что представляет собой итоговый отчет?
Достарыңызбен бөлісу: |