Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БазыДанных_ЛАБ_РАБОТЫ.doc
Скачиваний:
2
Добавлен:
24.11.2019
Размер:
4.85 Mб
Скачать

4.3. Создание и использование элементов управления

Рассмотрим процесс создания различных элементов управления на конкретных примерах. Допустим, что требуется создать форму для оформления данных из таблицы Учебная (рис. 4.7). Перед тем, как начать создавать форму нужно модифицировать таблицу, а именно добавить в Конструкторе таблицы несколько полей (табл. 4.2).

Таблица 4.2

Добавление новых полей в таблицу «Учебная»

Имя поля

Тип данных

Год выпуска

Числовой

Степень износа

Текстовый

Наличие на складе

Логический (Да/Нет)

Рисунок

Поле объекта OLE

При вводе данных в видимые поля формы они отражаются в исходной таблице только в том случае, когда эти поля уже имеются в исходной таблице.

Рис. 4.8. Форма для оформления данных таблицы Учебная

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

  1. Создать новую форму при помощи Конструктора и изменить свойства ее макета (рис. 4.9).

  2. Добавить в поле формы поля Страна, Город, Вид, Марка, Цена, Количество (рис. 4.10);

  3. Создать поле для ввода степени новизны Новизна. В это поле может быть помещено одно из двух возможных значений: «Новый» или «Бывший в употреблении». Сделаем это при помощи элемента, который называется «Поле со списком»:

  1. убедиться, что на экране есть панель управления Панель элементов (если нет, то добавить (Вид / Панель инструментов / Панель элементов). Обратить особое внимание на то, что кнопка Мастера не должна быть нажата!

  2. нажать кнопку Поле со списком и выделить рамкой в области формы прямоугольную область и удалить заголовок поля Свободный (см. рис. 4.6);

  3. на созданном поле со списком сделать щелчок правой кнопкой мыши и выбрать из контекстного меню пункт Свойства;

  4. перейти во вкладку Данные и в пункте Данные выбрать из списка поле Новизна;

  1. в пункте Тип источника строк выбрать Список значений (стоит вспомнить подстановки в таблицах);

Рис. 4.9. Свойства формы

Конструктор

Просмотр формы

Рис. 4.10. Добавление полей

  1. в пункте Источник строк перечислить через «;» возможные значения данного поля, а именно, Новый; Бывший в употреблении (рис. 4.11), после чего перейти в режим просмотра формы и проверить работоспособность созданного элемента управления. При необходимости следует отредактировать ширину поля со списком, чтобы в нем размещался полностью каждый вариант;

Рис. 4.11. Свойства поля со списком

  1. Создать поле Наличие на складе. Это поле в исходной таблице имеет логический тип данных, поэтому его целесообразно заполнять, используя элемент управления – «флажок». Если флажок есть (включен), то в таблицу подставляется значение «ИСТИНА», а если пустой (сброшен) – «ЛОЖЬ». В логическое поле исходной таблицы MS Access Учебная тоже устанавливаются флажки. Таким образом, при установке флажка в форме он автоматически устанавливается и в таблице. Для отображения в форме перенести из списка полей в область формы поле Наличие на складе. Для удобства восприятия поместить флажок после надписи.

  2. Создадим элемент, при помощи которого можно задавать год выпуска определенного продукта. Если приходится выбирать одно значение из списка, то для этих целей можно использовать элемент управления, который называется Группа переключателей:

  1. убедиться, что кнопка Мастера не нажата;

  2. нажать кнопку Группа переключателей и выделить рамкой в области формы прямоугольную область;

  3. изменить редактированием заголовок группы на Год выпуска;

  4. выбрать кнопку Переключатель на панели элементов и выделить внутри группы Год выпуска прямоугольную область. При попадании указателя мыши в область группы происходит изменение фона области группы, что свидетельствует о размещении переключателя именно в составе группы. Так как в группе должно быть пять переключателей, то повторить это действие еще четыре раза, таким образом, чтобы внутри группы было пять переключателей;

  5. изменить заголовки переключателей соответственно на 2007; 2006; 2005; 2004; 2003;

  6. щелкнуть правой кнопкой мыши по границе группы переключателей и из меню свойств выбрать вкладку Данные и в пункте Данные выбрать поле Год выпуска. Этим устанавливается связь элемента управления с исходной таблицей. Данные, которые он будет генерировать должны подставляться в поле Год выпуска таблицы Учебная. Там же следует задать Условие на значение <= Year(Now()) и Сообщение об ошибке Год еще не наступил, что выбираемый год не может быть больше года текущей даты;

  7. теперь необходимо задать числовое значение каждого переключателя, т. е. значение, которое будет попадать в таблицу при нажатии определенного переключателя. Для этого сделать щелчок правой клавишей мыши на первом переключателе (а не на его заголовке) и выбрать пункт Свойства;

  8. перейти во вкладку Данные и пункте Значение параметра указать значение – 2007 (для верхнего переключателя), после чего сделать аналогичные действия для четырех остальных переключателей;

  9. перенести из списка полей в область формы поле Год выпуска (рис. 4.13);

  1. Для удобства перемещения по записям обычно создают специальные кнопки перехода по записям. Создадим кнопки для перемещения на одну запись вперед, на одну запись назад, на первую запись и на последнюю запись:

  1. убедиться, что кнопка Мастера, в данном случае, нажата;

  2. нажать кнопку Кнопка и выделить рамкой в области формы прямоугольную область, что запустит мастер создания кнопок;

  3. на первом шаге нужно выбрать категорию и действие. Так как требуется создать кнопки для перехода по записям, то следует выбрать категорию Переходы по записям, а в качестве Действия для первой кнопки выбрать пункт Первая запись (при нажатии на эту кнопку форма перейдет на первую запись таблицы) и нажать кнопку Далее;

  4. на втором шаге нужно задать оформление кнопки (на кнопке может быть помещен текст или рисунок, но в текущий момент выбрать «по умолчанию») и нажать кнопку Готово;

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

  6. аналогично создать кнопки для выполнения всех остальных действий (рис. 4.14);

  7. создать кнопку Закрытие формы, для этого выбрать категорию – Работа с формой и ДействиеЗакрыть форму;

  1. Для наглядности в формах целесообразно представление внешнего вида товаров. Эту роль выполняет поле Рисунок, который в примере представляет доступные объекты OLE, которые, в свою очередь, могут быть любыми текстовыми и графическими объектами, имеющимися на диске компьютера. Создание поля Рисунок:

  1. перенести из списка полей в область форм поле Рисунок и удалить заголовок поля;

  2. щелкнуть правой кнопкой мыши по созданному полю, выбрать пункт Свойства и из меню свойств выбрать вкладку Макет;

Конструктор

Просмотр формы

Рис. 4.13. Группа переключателей и связанное поле

Рис. 4.14. Кнопки для перемещения по записям и закрытия формы

  1. в пункте Установка размеров выбрать – По размеру рамки и перейти в режим просмотра формы;

  2. щелкнуть правой клавишей мыши по полю рисунка и из меню выбрать пункт Добавить объект…. MS Access2003 в целях экономии объема места на диске не вставляет в базу графические объекты, а вставляет только ссылки на их файлы, которые можно просмотреть двойным щелчком левой клавиши мыши;

  3. из списка возможных объектов OLE выбрать имеющийся графический объект;

  4. выбрать категорию рисунка, а затем конкретный рисунок;

  5. щелкнуть правой кнопкой мыши по выбранному рисунку и выбрать пункт Добавить, после чего выбранный рисунок вставиться в форму в виде части записи поля Рисунок;

8. Для оформления форм и придания им внешнего вида, соответствующего по смыслу представляемой в них информации в качестве общего фона формы выводят графические объекты. Это относится к общим свойствам всей формы и задается в режиме Конструктора.

Откроем форму Форма1 в Конструкторе. Щелчок левой клавишей мыши по кнопке в левом верхнем углу окна на пересечении линеек обеспечивает развертку окна свойств формы. Во вкладке Макет в пункте Рисунок выбирается соответствующий графический объект из доступного дискового пространства. Свойство Тип рисунка следует выбрать Вписать в рамку для размещения рисунка по всей площади формы независимо от соотношения ее сторон.

9. При больших объемах информации размещаемой в форме целесообразно разделить информацию на группы и выводить каждую группу в отдельной вкладке подобно, например, вкладкам свойств элементов управления.

Для создания вкладок необходимо открыть форму Форма1 в Конструкторе, выбрать на панели элементов управления элемент Вкладка и обозначить в области формы прямоугольник для размещения вкладок. По умолчанию создается сразу две вкладки. Для увеличения количества или удаления лишних вкладок следует щелкнуть правой клавишей мыши по полю вкладок и выбрать пункт контекстного меню Добавить вкладку (или соответственно Удалить вкладку).

Элементы управления размещаются во вкладках путем перемещения их левой нажатой клавишей мыши в поле вкладки, которое при этом изменяет цвет на черный, что свидетельствует о возможности размещения элемента управления именно в этой вкладке. Уже существующие в форме элементы управления не переносятся во вкладки. Наименование вкладки задается как пункт Подпись свойств вкладки. Присвоим имена вкладкам: левой – География, средней – Ассортимент и правой – Стоимость. Из Списка полей формы перенесем во вкладки соответствующие поля, а на основном поле их необходимо удалить для устранения дублирования.

10. При наличии структурированных данных, размещенных в нескольких связанных общим смыслом исходных таблицах или одной сводной таблице со всеми данными, когда одному значению данных по одному полю соответствует несколько записей из другого поля, применяется инструмент подчиненные формы. При этом одна форма вложена в другую, а содержание внутренней формы зависит от содержания внешней формы. Внешняя и внутренняя формы должны иметь общее поле связи данных. В этом случае имеет место подчинение по структуре 1:N. В свою очередь, внутренняя форма также может иметь свою внутреннюю форму и тогда структура подчинения будет 1:N:M. Поля связей для первого разветвления и для второго разветвления должны быть различны.

Рассмотрим пример создания подчиненной формы на базе таблицы Учебная, для которой на верхнем уровне выбирается Страна, на втором уровне выбирается Вид, а на третьем уровне выбираются соответствующие им Марка, Количество и Год выпуска.

Создание подчиненных структур начинается с самого внутреннего элемента. Для этого в режиме Конструктор на базе таблицы Учебная необходимо создать форму Форма М с полями Марка, Количество и Год выпуска. Затем аналогично создаются формы Форма В с полем Вид и Форма С, имеющая поле Страна.

На втором этапе форма Форма В открывается в Конструкторе. После выбора на Панели инструментов кнопки Подчиненная форма/отчет в окне формы Форма В мышью указывается прямоугольник для размещения внутренней формы Форма М (рис.4.15). У вновь введенного элемента целесообразно удалить

Рис. 4.15. Создание подчиненной формы

заголовок Внедренный, после чего задаются свойства внедренного подчиненного объекта. Во вкладке Данные в качестве Объекта-источника выбирается внутренняя форма Форма М (рис.4.16).

Рис.4.16. Выбор источника данных подчиненной формы

Для установления связи между формой Форма В и подчиненной формой Форма М необходимо в строке Подчиненные поля кнопкой справочника (см. рис. 4.16) открыть окно задания связи, кнопкой Предложить… развернуть список связей и выбрать поле связи Вид (рис.4.17).

Рис. 4.17. Выбор поля связи для подчиненных форм

Последовательное подтверждение выбора в активных окнах и редактирование размеров внедренной подчиненной формы формирует окончательный вид формы Форма В (рис.4.18).

Рис.4.18. Завершение настройки внутренней подчиненной формы

  1. ОТЧЕТЫ

Отчеты используются для наглядного представления данных таблиц или запросов при печати. Отчет создается практически так же, как форма. Различие заключается в наличии в отчетах некоторых сервисных функций и возможностей для группировки и сортировки данных.

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

Создание отчетов при помощи мастера требует соблюдения определенных правил.

Пусть требуется, например, создать отчет на основе таблицы Учебная, причем обладающий способностью выполнять группировку и сортировку данных по нескольким полям.

  1. Находясь во вкладке Отчеты нажать кнопку Создать и из открывшегося меню выбрать пункт Мастер отчетов, а в качестве источника данных выбрать таблицу Учебная.

  2. На первом шаге необходимо выбрать поля, которые будут участвовать в отчете: Страна, Город, Вид, Марка, Цена, Количество и нажать кнопку Далее;

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

Рис. 5.1. Создание уровней группировки

  1. На следующем шаге можно указать поля и порядок сортировки, а также можно задать функции для подведения итогов по некоторым полям (об этом немного ниже). Пусть данные сортируются по возрастанию в полях Город и Марка. Указать эти поля и нажать кнопку Далее.

  2. Дальше нужно выбрать стиль оформления отчета. В текущий момент выбрать стиль «по умолчанию».

  3. В конце нужно нажать кнопку Готово и на экране появится готовый отчет.

Рассмотрим созданный отчет более подробно (рис. 5.2).

Как видно отчет включает в себя группированные данные таблицы Учебная. Сначала данные сгруппированы по полю Страна, а вторым уровнем группировки является поле Вид. Сами же данные отсортированы сначала по полю Город, а затем по полю Марка. Для того, чтобы узнать каким образом удается MS Access представить данные в таком виде необходимо перейти в режим конструктора (рис. 5.3).

Группировка данных становится возможной, если в отчете указаны специальные области, которые называются Заголовок группы. Первый заголовок – это первый уровень группировки (Заголовок группы Страна), второй – это второй уровень группировки (Заголовок группы Вид). Сами данные выводятся в область Область данных. В нижней части отчета помещается поле колонтитула, которое является необязательным и в данном случае в него выводится время и дата формирования отчета (=Now()) и нумерация страниц (="Страница " & [Page] & " из " & [Pages]). Колонтитулы выводятся на каждой странице отчета.

Рис. 5.2. Внешний вид отчета с группировкой данных

Если отчет создается не при помощи мастера и есть необходимость добавить уровни группировки и установить сортировку по определенным полям, то это можно сделать при помощи инструмента Сортировка и группировка (рис. 5.4). Для того, чтобы какое либо поле сделать заголовком группы, т. е. установить группировку по этому полю, необходимо в пункте свойств Заголовок группы этого поля выбрать Да.

Рис. 5.3. Представление отчета с группировкой в Конструкторе

Рис. 5.4. Меню Сортировка и группировка

Еще одним положительным качеством отчетов является возможность создавать поля, в которых будет производиться подсчет итогов по выбранной функции.

  1. Создать отчет точно так же, как это было описано выше до 3-го пункта включительно.

  2. При установлении порядка сортировки дополнительно нажать кнопку Итоги…. На экране появится меню выбора поля и функции (рис. 5.5.). Установить функцию Среднее (Avg) по полю Цена и суммирования по полю Количество (Sum), а также установить флажок Вычислить проценты и нажать кнопку Ок.

  3. Выбрать стиль оформления отчета и нажать кнопку Готово. Рассмотрим созданный отчет более подробно (рис. 5.6). Итоги вычисляются по каждому выбранному полю и функции, в данном случае средняя цена и общее количество по каждому виду (нижний уровень группировки), а также доля в процентах от общего количества в целом. Кроме того, вычисляются итоги по каждому вышестоящему уровню группировки, в данном случае по странам, а также общие итоги по количеству в целом.

Рис. 5.5. Меню Итоги

Рассмотрим созданный отчет в конструкторе (рис. 5.7).

Как видно из рисунка в отчет добавились поля Примечаний.

Так для группы Вид итоговое поле имеет представление:

="Итоги для " & "'Вид' = " & " " & [Вид] & " (" & Count(*) & " " & IIf(Count(*)=1;"запись";"записей") & ")".

Для группы Страна итоговое поле имеет вид:

="Итоги для " & "'Страна' = " & " " & [Страна] & " (" & Count(*) & " " & IIf(Count(*)=1;"запись";"записей") & ")".

Для всего отчета итоговое поле имеет вид:

=Sum([Количество]).

Для доли в общем количестве итоговое поле имеет вид:

=Sum([Количество])/([Количество ИТОГО Sum]).

В этих функциях значения, помещенные в кавычки – это текстовые выражения и выводятся они на экран, как текст. Оператор & – служит для объединения нескольких текстовых выражений. Оператор Count(*) подсчитывает количество записей в группе, а оператор IIf был рассмотрен ранее. Вычисление итогов выполняется в пределах записей, относящихся к одной группе.

Разновидностью отчетов являются диаграммы, к достоинствам которых относится наглядность представления данных и их визуальная сопоставимость.

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

На первом шаге мастера выбираются необходимые поля, одно из которых должно иметь тип данных числовое, иначе диаграмма не имеет смысла построения – Страна, Вид и Количество.

Рис. 5.6. Отчет с группировкой и итогами

Рис. 5.7. Представление отчета с группировкой и итогами в Конструкторе

На втором шаге выбирается тип диаграммы. В примере выбрано трое данных, т.е. предполагается объемная диаграмма, например, Цилиндрическая.

На третьем шаге выбирается тип отображения данных и способ обработки числового данного. Для редактирования выполняется двойной щелчок левой клавишей мыши и выбор необходимого значения.

На четвертом шаге выполняется присвоение имени и завершение построения.

Редактирование диаграммы выполняется в Конструкторе. Особенностью редактирования является представление шаблона взамен исходного отчета.