Создание запросов

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

Запрос является производным объектом от таблицы. Од­нако результатом выполнения запроса является также таб­лица, т. е. запросы могут использоваться вместо таблиц. На­пример, форма может быть создана как для таблицы, так и для запроса.

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

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

Создадим запрос “Список отличников по информатике”. Для этого щелкнем по элементуЗапросы в области База данных и дважды щелкнем в области Задачи по строке Создать запрос в режиме дизайна. В диалоговом окне Добавить таблицу или запрос активируем пункт Таблицы, маркируем таблицу “Ученик“ и щелкнем по кнопке Добавить. Аналогичные действия произведем с таблицами “Контрольная неделя” и “Предметы” и закроем окно.

Из таблицы “Ученик“ в бланк запроса переместим с помощью мыши (или выполнив двойной щелчок по полям) поля “Фамилия”, “Имя” и “Группа”, из таблицы “Предметы” - поле “Название предмета”, а из таблицы “Контрольная неделя” - “Оценка”. В строке Критерий под полем “Оценка” введем 5 (если нужно, например, составить список хорошистов, введем выражение >3, либо так и оставим 5, но в строке или введем 4, т. е. условие будет 5 или 4), а под полем «Название предмета» –  Информатика. Поскольку в реальных БД бывает огромное количество записей, часто требуется отсортировать (упорядочить) данные по возрастанию или убыванию. Например, фамилии можно упорядочить по алфавиту. Для этого в строке Сортировка под полем “Фамилия” выберем по возрастанию.

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

 

Создание форм

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

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

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

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

Создадим форму для таблицы «Ученик». Для этого щелкнем по элементу Формы в области База данных и дважды щелкнем в области Задачи по строке Использовать мастер для создания формы.

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

Нажмем кнопку Дальше.

Шаги 2-5 можно в данном случае пропустить, нажимая кнопку Дальше. На шаге 6 необходимо активировать пункт Форма для отображения всех данных — для создания формы с отображением всех существующих данных и ввода новых данных.

Нажмем кнопку Дальше.

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

Последний этап предполагает задание имени новой форме (по умолчанию предлагается имя, совпадающее с названием таблицы-источника). Введем имя «Форма Ученик», оставим выбранным пункт Работа с формой, который предлагается по умолчанию, и для завершения работы мастера нажмем кнопку Готово.

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

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

Можно также создавать составные формы, включая в основную форму подчиненные. Создадим форму, в которой отображались бы не только оценки учащегося, но и его анкетные данные. Сделаем это с помощью мастера. На первом этапе в форму, источником для которой будет таблица «Контрольная неделя», перенесем все поля данной таблицы (аналогично тому, как это делалось при создании формы для таблицы «Ученик»).

На этапе Установка субформы активируем пункт Добавить субформу, а после этого - пунктСубформа, основанная на выбранных полях.

Нажмем кнопку Дальше.

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

 

Нажмем кнопку Дальше.

На этапе Получить объединенные поля выберем объединенные поля. Для этого в спискеПервое объединенное поле субформы выберем поле Код ученика подчиненной формы, связанное с полем основной формы, которое выбирается в соседнем справа списке. В списке Первое объединенное главное поле выберем также поле Код ученика, связанное с полем подчиненной формы, которая выбирается из соседнего слева списка.

Нажмем кнопку Дальше.

На этапе Расположить элементы управления создается разметка формы. Для этого в группеРасположение подписи выберем По левому краю — для выравнивания подписи по левому краю, затем в группе Расположение головной формы выберем, например, Блоки — подписи сверху — для расположения подписей над соответствующими данными, а в группе Расположение субформвыберем Столбцы — подписи слева — для выравнивания полей базы данных по столбцам с подписями с левой стороны полей.

Нажмем кнопку Дальше.

На этапах 6 и 7 выполним те же действия, что и при создании формы для таблицы «Ученик». На последнем шаге зададим имя для формы (например, «Анкетные данные ученика») и нажмем кнопкуГотово.

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

 

 

Создание отчетов

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

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

В качестве примера рассмотрим создание отчета, в котором отображается список учащихся (фамилия, имя, дата рождения) по группам.

Щелкнем по элементу Отчеты в области База данных и дважды щелкнем в области Задачи по строке Использовать мастер для создания отчета.

На первом этапе работы мастера выбираются поля (из таблиц и запросов), содержимое которых будет отображаться в отчете. В нашем случае нужно выбрать из таблицы «Ученик» поля «Фамилия», «Имя», «Дата рождения» и «Группа» и нажать кнопку Дальше.

 

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

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

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

На пятом этапе следует выбрать разметку, которая будет использоваться в отчете, а также ориентацию страницы. Выберем колоночный вид и книжную ориентацию. Нажмем кнопку Дальше.

На шестом этапе следует указать заголовок созданного отчета (назовем его «Отчет Ученик»). Кроме того, выберем в качестве типа отчета - Динамический отчет — для сохранения отчета в виде шаблона (при открытии такого отчета он будет отображаться с текущим содержимым) и в группе Что вы собираетесь делать после создания отчета? выберем Создать отчет сейчас — для сохранения отчета и завершения работы.

Щелкнем по кнопке Готово. Отчет откроется в окне приложения Writer (текстовый редактор, входящий в состав OpenOffice) в режиме Только для чтения.