Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебная практика / ooo / ooo_base_simple.odt
Скачиваний:
36
Добавлен:
11.05.2015
Размер:
1.33 Mб
Скачать
  1. Связанные таблицы и функции

Организация связей позволяет одновременно выбирать информацию из нескольких таблиц. Создадим новый запрос в режиме дизайна и добавим в него все имеющиеся в базе таблицы (spisok, groups, special и fakultet). Затем создадим между таблицами связи, как показано на рис. 23.

Рис .23. Создание связей в Конструкторе запросов.

Связь создается следующим образом: на названии одного из полей таблицы (например, n_groupиз таблицыspisok) нажимаем левую кнопку мыши и с нажатой левой кнопкой “тянем” мышь на одноименное поле в следующей таблице. При желании можно воспользоваться главным меню Конструктора запросов «Вставить/Создать связь...».

Затем построим запрос в соответствии с рис. 24.

Рис. 24. Многотабличный запрос

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

В этом запросе выводятся все факультеты, соответствующие номера групп, специальности и фамилии студентов. Нет никаких критериев выбора. Сохраним запрос с именем vyb1.

Теперь на основе этого запроса можно создать запрос на выбор только бесплатных студентов (поле pay– невидимое). Сохраним модифицированный запрос под именемvyb2.

На следующем этапе попробуем применить функции в запросах. В зависимости от типа БД в источнике данных могут быть использованы различные функции. В нашем варианте рассмотрим использование функций CountиSum(как легко догадаться, они подсчитывают или суммируют значения, соответствующие заданным условиям).

Создадим связи, как показано на рис. 25.

Рис. 25. Связи для запроса с функциями.

Теперь сконструируем запрос (рис. 26): а сколько заплатили в общей сложности студенты в каждой группе? Для этого суммируем значения s_priceдля каждой из групп для платных студентов (для группировки по категориям используется функцияGroup). Функции “добываются” из раскрывающегося списка соответствующей строки таблицы Конструктора запросов.

Рис. 24. Запрос с псевдонимами и функциями

В этом запросе для имен полей использованы псевдонимы. Именно они будут отображены в результате работы запроса. Сохраним запрос как vyb3, а в качестве упражнения сделаем запрос для подсчета количества бесплатных студентов по курсам (с псевдонимами), сохранив результаты какvyb4.

Здесь были рассмотрены только запросы на выбор информации. Однако и возможны и запросы-действия (преобразование данных, модификация значений и пр.). В OOo Base такие запросы выполняются в режиме SQL-запросов, которые выходят за рамки нашего рассмотрения.

  1. Отчеты

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

Создадим отчет на основе запроса q2. Для создания отчета используется Мастер отчетов, при работе которого процесс разбивается на несколько шагов.

На первом шаге требуется определить таблицу или запрос, являющиеся основой для отчета (выбор из списка) и поля, которые будут отображаться в отчете. Поля из таблицы (запроса) переносятся в поля отчета кнопкой «>», убираются кнопкой «<», а кнопки «>>» и «<<» делают аналогичные операции со всеми полями сразу (рис. 25).

Рис. 25. Выбор запроса и полей для отчета

На следующем шаге определяем имена для колонок отчета (рис.26). Это можно использовать для “удобочитаемости” отчета, если в запросе не использовались псевдонимы. При использовании псевдонимов этот шаг не требует вмешательства пользователя.

Рис. 26 Переименование полей отчета

На следующем шаге (рис. 27) возможно организовать отчет как набор таблиц, каждая из которых имеет заголовок, соответствующий категории данных. Пример такого “ступенчатого” отчета рассмотрим далее, а пока на этом шаге не делаем ничего.

Рис. 27 Выбор структуры отчета

Если отчет не ступенчатый, то группировку пропускаем и переходим к следующему шагу, на котором выбирается стиль и оформление отчета (рис. 28).

Рис.28. Выбор стиля и оформления отчета

Опыт показывает, что лучше выбирать вертикальную ориентацию листа. Выделены варианты, найденные опять-таки опытным путем (можно попробовать выбрать другие).

Рис. 29. Выбор типа отчета и дальнейших действий

На следующем шаге (рис. 29) определяем тип и имя файла отчета. Отчет можно сохранить как шаблон текстового документа, в этом случае при создании документа на основе шаблона там автоматически окажутся данные из источника данных. Это называется «Динамический отчет» и рекомендуется выбирать этот режим. После всех настроек отчет должен быть сформирован. На рис. 30 показан фрагмент получившегося отчета. Если что-то не получилось, неудавшийся отчет следует удалить и попробовать выполнить все действия еще раз.

Рис.30.Фрагмент получившегося отчета

Теперь в качестве упражнения сделаем ступенчатый отчет на основе запроса vyb2с группировкой по названиям факультетов. Должно получиться нечто вроде показанного на рис. 31.

Рис. 31. Фрагмент ступенчатого отчета с группировкой по факультетам

Выбирая на последнем шаге Мастера отчетов вариант «Правка шаблона» можно улучшить шрифтовое и композиционное оформление отчетов. Альтернативным вариантом является использование базы как источника данных и инструмента «Данные в текст».

Соседние файлы в папке ooo