Заполнение бланка запроса по образцу
Бланк запроса по образцу — удивительно изящное и удобное средство создания запросов. Наверное, оно в немалой степени способствует тому успеху, который СУБД Access имеет у потребителей.
1. Бланк запроса по образцу имеет две панели. На верхней панели расположены списки полей тех таблиц, на которых основывается запрос.
2. Строки нижней панели определяют структуру запроса, то есть структуру результирующей таблицы, в которой будут содержаться данные, полученные по результатам запроса.
3. Строку Поле заполняют перетаскиванием названий полей из таблиц в верхней части бланка. Каждому полю будущей результирующей таблицы соответствует один столбец бланка запроса по образцу.
4. Строка Имя таблицы заполняется автоматически при перетаскивании поля.
5. Если щелкнуть на строке Сортировка, появится кнопка раскрывающегося списка, содержащего виды сортировки. Если назначить сортировку по какому-то полю, данные в результирующей таблице будут отсортированы по этому полю.
6. Бывают случаи, когда поле должно присутствовать в бланке запроса по образцу, но не должно отображаться в результирующей таблице. В этом случае можно запретить его вывод на экран, сбросив соответствующий флажок.
7. Самая интересная строка в бланке запроса по образцу называется Условие отбора. Именно здесь и записывают тот критерий, по которому выбирают записи для включения в результирующую таблицу. По каждому полю можно создать свое условие отбора. (знаки операций сравнения, OR, AND, Истина, Ложь и т. д.)
8. Запуск запроса выполняют щелчком на кнопке Вид. При запуске образуется результирующая таблица.
9. Чтобы выйти из результирующей таблицы и вернуться к созданию запроса в бланке запроса по образцу, нужно еще раз щелкнуть на кнопке Вид.
В рассмотренных случаях характеристики условий отбора запросов былижестко введены в бланк запроса по образцу. Обычный пользователь БД, не имевший отношения к ее созданию, не может изменить эти параметры.
Во многих случаях пользователю надо предоставить возможность выбора того, что он хочет найти в таблицах базы данных. Для этого существует специальный вид запроса — запрос с параметрами.
Для этой цели служит специальная команда языка SQL, которая выглядит так:
LIKE [...]
В квадратных скобках можно записать любой текст, обращенный к пользователю, например:
LIKE [Введите оклад]
Команду LIKE надо поместить в строке Условие отбора и в поле, по которому производится выбор. После запуска запроса открывается диалоговое окно, в котором пользователю предлагается ввести параметр.
Часто возникает необходимость создавать более гибкие запросы, когда требуется задать несколько параметров. Тогда на месте Условие отбора можно использовать условие вида:
Между - BEWEEN[Введите мин. Значение Оклада] AND [Введите макс. Значение Оклада] или
Или - [Введите Оклада1] OR [Введите Оклада2], причём для длинного условия можно использовать Область ввода (Shift+F2).
Условия с параметрами можно задавать для нескольких полей, при этом при воде параметры запрашиваются в том порядке, в каком они приводятся в таблице.
Поле, содержимое которого является результатом расчета по содержимому других полей, называется вычисляемым полем. Вычисляемое поле существует только в результирующей таблице. В исходных (базовых) таблицах такое поле не создается, и при работе обычного запроса таблицы не изменяются. Каждый, кто обращается к базе, может с помощью запросов как угодно манипулировать данными и получать любые результаты, но при этом исходные таблицы остаются неизменно одинаковыми для всех пользователей.
Для создания запроса, производящего вычисления, служит тот же самый бланк запроса по образцу. Разница только в том, что в одном из столбцов вместо имени поля записывают формулу. В формулу входят заключенные в квадратные скобки названия полей, участвующих в расчете, а также знаки математических операций, например, так:
Сумма: [Цена] * [Количество]
В узкий столбец непросто записать длинную формулу, но если нажать комбинацию клавиш SHIFT+F2, то открывается вспомогательное диалоговое окно, которое называется Область ввода. В нем можно ввести сколь угодно длинную формулу, а потом щелчком на кнопке ОК перенести ее в бланк запроса по образцу.
Сформировать вычисляемое поле можно также с помощью Построителя. Нажмите правую кнопку мыши, выберите в контекстном меню пункт Построить. В открывшемся окне введите имя нового поля и сформируйте арифметическое выражение, выбирая поля запроса из средней части Построителя кнопкой Вставить (если поля отсутствуют, сохраните запрос, затем откройте его в режиме Конструктора и повторите операцию).
Если включить отображение вычисляемого поля, результаты расчетов будут выдаваться в результирующей таблице.
Запросы позволяют не только отбирать нужную информацию из таблиц и обрабатывать ее путем создания новых (вычисляемых) полей, но и производить так называемые итоговые вычисления. Примером итогового вычисления может служить сумма всех значений в какой-то группе записей или их среднее значение, хотя кроме суммы и среднего значения существуют и другие итоговые функции.
Поскольку итоговые функции для одной записи не имеют смысла и существуют только для группы записей, то предварительно записи надо сгруппировать по какому-либо признаку.
Итоговые запросы создают на основе известного бланка запроса по образцу, только теперь в нем появляется дополнительная строка — Группировка. Для введения этой строки в бланк надо щелкнуть на кнопке ∑ Групповые операции на панели инструментов программы Access . Далее все происходит очень просто. В тех полях, по которым производится группировка, надо установить (или оставить) функцию Группировка. В тех полях, по которым следует провести итоговое вычисление, надо в строке Группировка раскрыть список и выбрать одну из нескольких итоговых функций.
Щелчок на кнопке Вид запускает запрос и выдает результирующую таблицу с необходимыми итоговыми данными. В строке Группировка можно указать лишь одну итоговую функцию. А если надо найти и сумму, и среднее, и максимальное значение, и еще что-то? Решение простое: одно и то же поле можно включить в бланк запроса по образцу несколько раз.
ОТЧЁТЫ
Отчеты во многом похожи на формы и тоже позволяют получить результаты работы запросов в наглядной форме, но только не на экране, а в виде распечатки на принтере. Таким образом, в результате работы отчета создается бумажный документ.
Большая часть того, что было сказано о формах, относится и к отчетам. Выбрав в диалоговом окне База данных вкладку Отчеты и щелкнув на кнопке Создать, можно получить диалоговое окно Новый отчет, позволяющее создать отчет автоматически (автоотчет), с помощью Мастера или вручную.
Точно так же, как и с формами, с отчетами удобнее знакомиться в режиме автоматического создания. Отчеты предназначены для вывода информации на принтер, поэтому для расчета расположения данных на печатной странице программа Access должна “знать” все необходимое об особенностях принтера. Эти данные Access получает от операционной системы. Соответственно, принтер в системе должен быть установлен.
При отсутствии принтера отчеты создавать все-таки можно. Достаточно выполнить программную установку с помощью команды операционной системы: Пуск - Настройка -> Принтеры -> Установка принтера, после чего зарегистрировать драйвер принтера, либо взяв его с гибкого диска, либо выбрав один из драйверов, прилагающихся к самой операционной системе.
Как и формы, отчеты состоят из разделов, а разделы могут содержать элементы управления. Но, в отличие от форм, разделов в отчетах больше, а элементов управления, наоборот, меньше.
Со структурой отчета проще всего ознакомиться, создав какой-либо автоотчет, а затем открыв его в режиме Конструктора.
Структура отчета состоит из пяти разделов: заголовка отчета, верхнего колонтитула, области данных, нижнего колонтитула и примечания отчета. По сравнению с формами новыми являются разделы верхнего и нижнего колонтитулов.
Раздел заголовка служит для печати общего заголовка отчета.
Раздел верхнего колонтитула можно использовать для печати подзаголовков, если отчет имеет сложную структуру и занимает много страниц. Здесь можно также помещать и колонцифры (номера страниц), если это не сделано в нижнем колонтитуле.
В области данных размещают элементы управления, связанные с содержимым полей таблиц базы. В эти элементы управления выдаются данные из таблиц для печати на принтере. Порядок размещения и выравнивания элементов управления тот же, что и при создании структуры форм.
Раздел нижнего колонтитула используют для тех же целей, что и раздел верхнего колонтитула. В нашем случае в нем размещены два элемента управления.
В первом элементе управления выводится текущая дата. Для этого использована встроенная в Access функция Now(). Она возвращает текущую дату и помещает ее в поле, а отчет воспроизводит ее при печати.
Во втором элементе управления выводится номер страницы и общее количество страниц. Для их определения использованы встроенные функции Раде() и Pages(). Тот текст, который записан в кавычках, воспроизводится “буквально”, а оператор & служит для “склеивания” текста, заключенного в кавычки, со значениями, возвращаемыми функциями. Оператор & называется оператором конкатенации.
Раздел примечания используют для размещения дополнительной информации. Режим просмотра отчета.
В режиме просмотра отчета можно просмотреть все страницы готового отчета, настроить параметры страницы печати (Файл – Параметры страницы), изменить масштаб просматриваемой области, перейти в режим Конструктора отчета.
На панели инструментов режима Просмотра отчета присутствует кнопка Связь с Office. Полученный отчет можно экспортировать в текстовый редактор Word или табличный процессор Excel.
Для изучения возможностей MS ACCESS и приобретения навыков работы с БД в среде MS ACCESS можно выполнить приведенную Лабораторную работу. Выполнение этой работы необязательно.