Фильтры и запросы. Интеграция приложений.
При создании базы данных она была зарегистрирована в OpenOffice.org. Это означает, что данные из базы могут использоваться в других приложениях. Все зарегистрированные базы являются «Источниками данных» для приложений OpenOffice.org. Вызов доступных источников данных выполняется по клавише <F4>. Попробуем результаты поиска по базе данных использовать в документах электронных таблиц. Для этого создадим новый документ электронной таблицы и по нажатию <F4> получим список зарегистрированных источников данных (рис. 17).
Рис.
17. Зарегистрированные БД в таблице OOo
Calc.
Содержание какой-либо таблицы текущего источника данных можно увидеть, раскрыв список таблиц и выбрав таблицу. Содержание выранной таблицы будет показано в правой части окна источников данных (рис. 18).

Рис. 18. Просмотр содержания таблицы источника данных при работе в OOo Calc.
Отметим, что у источника данных имеется собственная панель инструментов, а в этой панели инструментов есть кнопки вызова фильтров, а также очень полезная кнопка «Данные в текст», позволяющая копировать данные, отображаемые в окне источника данных, в текущую позицию курсора в электронной таблице (или в редакторе текста).
Поскольку смысл использования базы данных – поиск информации в ней, то имеет смысл работать с таблицами, содержащими достаточно много данных. Такой таблицей в нашей базе является таблица spisok. Попытаемся осуществить поиск информации по различным признакам, работая с базой как с источником данных. Естественно, те же самые действия можно совершать, работая непосредственно с таблицей в программе OOo Base.
При работе с базой как с источником данных для поиска информации могут быть использованы фильтры. В такой ситуации ( в отличие от списков в электронной таблице) используются два фильтра – быстрый фильтр и фильтр по умолчанию (в зависимости от версии и реализации они могут называться соответственно «Автофильтр» и «Стандартный фильтр»).
Быстрый фильтр
Быстрый фильтр запускается соответствующей кнопкой в панели инструментов, если в каком-либо поле выделено конкретное значение. Он покажет строки (записи), в которых это поле имеет такие же значения.
Данный режим фильтрации удобен при многоступенчатой фильтрации по нескольким полям, если условия по одному полю не противоречат друг другу. Важно, что в этом случае можно найти значения только по полномусовпадению с искомым значением.
Например, выберем с помощью Быстрого фильтравсех платных студентов (“Да” в полеpay) группы 321. Для этого найдем первую запись, в которой значениеn_groupравно, 321, выберем мышкой это значение и нажмем кнопкуБыстрый фильтр. Затем проделаем такую же операцию с полемpay.Результаты поиска скопируем в электронную таблицу: выделим таблицу источника данных нажатием на кнопку в левом верхнем углу и на панели инструментов найдем и нажмем кнопку “Данные в текст...”. Видимое содержимое таблицы источника данных скопируется в текущее положение указателя активной ячейки электронной таблицы (простой “Генератор отчетов”, рис. 19).
Рис.
19. Генерация отчета в OOo Calc с помощью
фильтра.
Для отображения всех записей нажмем кнопку “Удалить фильтр”.
Стандартный фильтр
Далее применим Стандартный фильтр (Фильтр по умолчанию). Он работает одновременно по трем полям и позволяет связывать условия поиска логическими функциями “И” и “ИЛИ” (соответственно, AND и OR). Возможно также использование символов подстановки “?” и “*”.
При написании условий с использованием дат существует следующее правило: даты ограничивают знаком «#», т.е. #01.01.2006#
А текстовые данные заключают в « '», т.е. 'мама'.
Найдем, например, платных студентов групп 431 и 432, фамилии которых начинаются на “А” (рис. 20).
Рис.
20. Условия в фильтре по умолчанию
В условиях для текстовых полей нужно использовать слова (“равно” или “не равно”), а значки одиночных кавычек (апострофы) появляются автоматически.
В качестве упражнения найдем с помощью стандартного фильтра студентов групп 321 и 322, у которых третья буква в фамилии - “р”. Результаты сохраним в электронной таблице.
Интересно попробовать сохранить результаты фильтра в текстовом документе (например, деканату нужно срочно подготовить отчет). Проделайте это самостоятельно с результатами текущего запроса в новом текстовом документе OpenOffice.org.
Для более сложных задач выбора используются запросы.
Запросы
Запрос является объектом базы данных OOo Base и создается при работе с этой программой. Запрос сохраняется в источнике данных и может быть применен многократно при изменениях данных в исходных таблицах. При использовании базы в качестве источника данных с запросами можно работать так же, как и с таблицами.
Построим запрос на выбор платных студентов, родившихся в 1985 году.
Для создания запроса в OpenOffice.org Base выберем режим дизайна. Прежде всего необходимо добавить нужные таблицы в запрос (рис. 21). Для построения запроса выбираем таблицуspisokи нажимаем кнопку «Добавить», после чего закрываем диалог выбора таблиц.
Рис.
21. Выбор таблиц для построения запроса.
Вид запроса в Конструкторе показан на рис. 22. Все дополнительные значки (#и') ставятся автоматически. Следует напомнить, что условия, находящиеся в одной строке, связываются логической функцией “И” (выполняются одновременно), а условия в разных строках означают выполнение логической функции “ИЛИ”. Поля в запрос можно включать как невидимые, т.е. они участвуют в запросе, но не отображаются в результатах.
Рис.
22. Запрос в Конструкторе запросов
После нажатия на кнопку “Выполнить запрос” в Конструкторе запросов результаты появятся в верхней части окна. При необходимости в результатах запроса можно изменить формат столбца и шрифт отображения. Кроме того, к результатам запроса можно применять сортировку и фильтры.
Сохраним запрос с именем q1.
Для упражнения создадим запрос для вывода студентов гр. 321, родившихся в 1985 году и всех студентов гр. 431. В результатах запроса с помощью фильтра выберем всех с фамилиями, начинающимися на “Г”.
Получившийся запрос сохраним с именем q2.
Если теперь в любом приложении OpenOffice.org вызвать источник данных, то можно увидеть результаты запросов точно так же как видны исходные таблицы. Результаты запросов q1иq2тоже могут быть скопированы как отчеты в электронную таблицу или в текстовый документ.
Представления
Представления (Views) – это способы отображения таблиц. Представление используется для вывода части информации из одной или нескольких таблиц. В отличие от запроса представление является объектом типа «Таблица» и хранится вместе с таблицами.
