При создании нового запроса в окне Конструктора раскрывается диалоговое окно Добавление таблицы с вкладками, позволяющими выбрать объекты, содержащие требуемые данные. Для добавления в запрос каждого из объектов нужно выделить его имя и нажать кнопку Добавить. После появления всех необходимых объектов в верхней части окна Конструктора окно Добавление таблицы нужно закрыть. При необходимости это окно вновь можно вызвать, щелкнув правой кнопкой мыши в верхней части окна и выбрав из контекстного меню команду Добавить таблицу.
Если запрос строится на нескольких таблицах или запросах, то они должны быть связаны.
Поля добавляются в бланк запроса перетаскиванием их мышью из списка полей или двойным щелчком мыши. Затем определяются условия отбора, порядок сортировки, создаются вычисляемые поля, устанавливаются необходимые флажки. Созданный запрос необходимо сохранить, определив его имя. Результат выполнения запроса можно просмотреть в режиме Таблицы.
Условие отбора позволяет определить, какие именно записи следует отобрать с помощью запроса. Обычно условие отбора представляет собой конкретное значение того или иного поля. Это значение указывается в строке Условие отбора бланка запроса. Символьные значения заключаются в кавычки, Access сам добавляет кавычки к введенному тексту. Календарные даты и время заключаются в символы #. При определении условий отбора можно использовать операторы сравнения =, <, >, <=, >=, о и логические операторы OR и AND. Значения, введенные в разных строчках бланка запроса, рассматриваются как операнды операции ИЛИ. Значения, введенные в разных столбцах, рассматриваются как операнды логического И.
При определении условия отбора необходимо использовать те значения поля, которые хранятся в таблице, но не подстановочные значения. Пусть, например, необходимо отобрать записи о покупках, сделанных клиентом РГРТА, и в качестве источника данных используется таблица ПОКУПКИ. Тогда в условии отбора для поля КодКлиента необходимо указать код РГРТА, т. е. цифру 4. Если этот же запрос создать на двух таблицах - ПОКУПКИ и КЛИЕНТЫ, то в качестве условия отбора для поля ИмяКлиента надо ввести слово РГРТА.
В запрос можно добавлять вычисляемые поля, содержимое которых является результатом арифметических операций над определенными полями таблиц. Для создания вычисляемого поля надо в свободном столбце бланка запроса в строке Поле ввести имена полей, являющихся операндами, и указать оператор. Здесь же нужно задать имя вычисляемого поля. Например, можно составить запрос, формирующий список покупателей, названий купленных ими книг, количество купленных экземпляров каждой из книг, цену книги и стоимость каждой покупки. В бланке такого запроса надо указать поля КодКлиента (таблица ПОКУПКИ), Код-Книги (таблица ПОКУПКИ), Количество (таблица ПОКУПКИ), ЦенаПокупки (таблица КНИГИ) и вычисляемое поле
Сумма: [ЦенаПокупки]*[Количество]
Выражение для вычисляемого поля удобнее вводить в Область ввода. Для ее вызова надо после щелчка в свободной ячейке нажать Shift+F2.
Если в бланк этого запроса добавить поле КодПокупки, установить для него порядок сортировки По возрастаниюи снять флажок вывода на экран, то отобранные записи будут выводиться в том же порядке, что и в таблице ПОКУПКИ.
В запросе можно предусмотреть подсчет итоговых значений, например подсчитать общее количество всех книг, купленных каждым из клиентов, и итоговую стоимость всех сделанных им покупок. Такой запрос называется Итоговым запросом. Для составления такого запроса надо нажать кнопку Групповые операции в режиме Конструктора запроса. В бланке запроса появится новая строка Групповая операция, а в каждом поле - установка Группировка.Теперь записи будут группироваться по каждому полю и набор отобранных записей будет содержать по одной строке для каждого уникального значения тех полей запроса, для которых оставлена установка Группировка. Для вычисления итогов надо в соответствующих полях заменить установку Группировка на конкретную итоговую фунщию,которую можно выбрать в раскрывающемся списке. Существует девять функций для выполнения групповых операций. В их числе:
Sum - возвращает сумму всех значений данного поля в каждой группе;
Avg - возвращает среднее арифметическое значений полей в группе;
Min, Max - возвращает наименьшее или наибольшее значение в каждой
группе,
Count - возвращает число записей в группе, для которых значения данного поля отличны от Null.
Групповые операции можно выполнять и над вычисляемыми полями.
Так, например, для подведения итогов по объемам покупок, сделанных каждым из клиентов, можно составить итоговый запрос на таблицах ПОКУПКИ и КНИГИ. В качестве источника данных для итогового запроса можно использовать также рассмотренный выше запрос с вычисляемым полем. В бланк итогового запроса надо включить поля КодКлиента, Количество из таблицы ПОКУПКИ и создать вычисляемое поле Сумма так, как это описано выше. Для первого из полей надо оставить установку Группировка,а для двух других полей эту установку следует заменить итоговой функцией Sum. В результате выполнения запроса сформируется список, содержащий по одной записи для каждого клиента с итоговыми
значениями - общим количеством купленных этим клиентом книг и общей стоимостью всех сделанных им покупок.
Полям записей запроса можно задать свойства, отличные от свойств полей таблиц. Например, можно определить новые значения свойства Подпись, определяющие имена столбцов выводимой на экран таблицы. Для этого нужно щелкнуть правой кнопкой мыши в любой ячейке соответствующего столбца и из контекстного меню вызвать окно Свойства поля. Для вызова этого окна можно воспользоваться также кнопкой Свойства на панели инструментов или командой меню Вид / Свойства.
В рассмотренных выше запросах условия отбора вводились непосредственно в бланк запроса. Однако удобнее было бы иметь возможность изменять в запросе условия отбора, вводя конкретные значения для поиска перед выполнением запроса. Эту задачу можно решить, создав запрос с параметром.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.