logo search
ИНФ

Сложные запросы

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

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

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

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

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

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

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

Для начала создания запроса следует открыть базу данных, и, перейдя на вкладку Запросы нажать кнопку Создать. Появится окно Новый запрос для выбора способа построения запроса ( рис 1

Конструктор - создает запрос на основе пустого бланка запроса.

Простой запрос - создает простой запрос из определенных полей.

Перекрестный запрос - создает запрос, данные в котором имеют компактный формат, подобный формату сводных таблиц в Excel.

Повторяющиеся записи - создает запрос, выбирающий повторяющие записи из таблицы или простого запроса.

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

При выборе Конструктора через диалоговое окно Добавление таблицы добавляются имена таблиц в окно конструктора запроса

Окно Добавление таблицы состоит из трех вкладок, содержащих перечни объектов, предлагаемых программой для проектирования запроса: Таблицы, Запросы и Таблицы и запросы. При выборе вкладки Таблицы следует выделить нужную нам таблицу из предложенного списка и с помощью кнопки Добавить можно добавить несколько таблиц. Например, на рис.2 выбрана таблица Студенты.

Имена таблиц должны быть представлены в окне конструктора запроса

Установка критериев отбора записей

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

Чтобы найти записи с конкретным значением в каком либо поле, нужно ввести это значение в данное поле в строке бланка QBE Условие отбора (см. рис.3).

Критерии, устанавливаемые в QBE - области, должны быть заключены в кавычки. Если ACCESS 97 идентифицирует введенные символы как критерии отбора, то заключает их в кавычки автоматически, а если нет, то сообщает о синтаксической ошибке.

Например, как показано на рис.3, построен запрос, по которому из данных по баллам будут выбраны фамилии и имена студентов с оценками только 4 и 5.

Виды критерие

Для создания запроса с несколькими критериями пользуются различными операторами.

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

Оператор Between

Оператор Between позволяет задать диапазон значений, например:

between 10 and 20

Оператор In позволяет задавать используемый для сравнения список значений. Например:

in (“первый”,”второй”,”третий”)

Оператор Like

Оператор Like полезен для поиска образцов в текстовых полях, причем можно использовать шаблоны:

* -- обозначает любое количество ( включая нулевой) символов;

? -- любой одиночный символ;

# -- указывает что в данной позиции должна быть цифра.

Например: для выбора фамилии, начинающейся с буквы П и с окончанием “ов” можно записать

like П*ов

Операторы для даты и времени

Можно ввести дату и время, при этом значения должны быть заключены между символами #. Например:

#10 мая 1998#

>#31.12.96#

В Access используется ряд других функций, которые помогут задать условия отбора для даты и времени, например:

Day(дата) - возвращает значение дня месяца в диапазоне от 1 до 31

Month(дата) - возвращает значение месяца года в диапазоне от 1 до 12

Year(дата) - возвращает значение года в диапазоне от 100 до 9999

Итоговые запросы

Итоговые запросы значительно отличаются от обычных. В них поля делятся на 2 типа:

- поля, по которым осуществляется группировка данных;

- поля, для которых проводятся вычисления.

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

В результате чего в бланке запроса появится строка Групповая операция. Если для соответствующего поля из списка выбрать функцию Группировка (рис 7), то при выполнении запроса записи по этому полю группируются по значениям в этом поле , но итог не подводится.

Группировка в итоговом запросе производится только по одному полю. Во всех остальных полях вводятся итоговые функции.