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



Сторінка8/9
Дата конвертації16.04.2016
Розмір0.53 Mb.
1   2   3   4   5   6   7   8   9

Создание запросов к нескольким таблицам

Добавление в запрос нескольких таблиц


Для добавления в запрос нескольких таблиц нужно выполнить следующие действия:

  1. Открыть диалоговое окно Добавление таблицы;

  2. Выделить в списке название нужной таблицы и щелкнуть на кнопке Добавить.

  3. Повторить второе действие для всех нужных в запросе таблиц.

  4. Щелкнуть на кнопке Закрыть.

Программа Access автоматически отображает линии объединения между связанными таблицами.

Добавление полей из нескольких таблиц


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

  • Можно перемещать любые поля любых таблиц, просто перетягивая их в ячейки строки Поле.

  • Можно выбирать названия полей из внутреннего списка ячеек строки Поле.

  • Чтобы не замусоривать внутренний список ячейки строки Поле, в строке Таблица выбрать название таблицы. Тогда в списке установится фильтр на названия полей только выбранной таблицы.

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

[ИмяТаблицы]. [ИмяПоля]


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

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


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

Таблица 11. Операции агрегирования, доступные в сводных запросах

Операция

Цель операции

Группировка

Группировка записей по уникальным значениям некоторого поля

Sum

Суммирование значений поля

Avg

Вычисление среднего значения поля

Min

Вычисление минимального значения поля

Max

Вычисление максимального значения поля

Count

Вычисление количества записей

StDev

Вычисляет стандартное отклонение значений поля

Var

Вычисляет дисперсию значений поля

Last

Возвращает последнее значение поля

Выражение

Возвращает суммарное значение, основанное на выражении вычисляемого столбца

Условие

Устанавливает критерий для фильтрации записей перед вычислением итогов

Отображение сводной строки в конструкторе запросов


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

  • Выбрать в меню команду Вид – Групповые операции.

  • Щелкнуть на кнопке Групповые операции панели инструментов.

При этом программа добавляет в сетку конструктора строку Групповая операция, в каждой ячейки которой перечислены все доступные операции агрегирования (рис. 15).


Рис. 15. Отображение строки Групповая операция

Настройка сводного запроса по одному полю


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

  1. Отобразить строку Групповая операция, если она еще не присутствует в конструкторе запроса.

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

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

  4. По умолчанию Access в заголовке поля отображает слово Операция – ИмяПоля, где Операция – название выбранной операции, а ИмяПоля – имя данного поля. Если нужно видеть на экране некоторое смысловое название, в ячейку Поле следует ввести следующую конструкцию:

ПсевдонимПоля: ИмяПоля

где ИмяПоля – имя, которое нужно использовать.



  1. Запустить запрос на выполнение.

На рис. 16 показан результат выполнения запроса на суммирование полей остатков на складе (НаСкладе) таблицы товаров (Товары). Результирующая таблица содержит всего одну ячейку, в которой отображается результат операции агрегирования.



Рис. 16. Таблица содержит результат вычисления,

примененного к одному полю


Настройка сводного запроса по нескольким полям


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

  • Добавить все необходимые поля и применить к каждому из них некоторую математическую операцию агрегирования.

  • Добавить копии одного и того же поля в конструктор и применить к каждой из них разные математические операции агрегирования (рис.17).

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


Рис. 17. Сводный запрос, использующий пять математических

операций агрегирования над тремя полями


Создание сводного запроса с группировкой записей


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

Группировка записей для создания промежуточных итогов выполняется в два действия:



  1. Нужно добавить в сетку конструктора поле, на основе которого будет производиться группировка записей.

  2. В строке Групповая операция нужно выбрать значение Группировка.

Группировка по нескольким полям


Методику группировки записей для получения промежуточных итогов можно расширить на случай нескольких полей. Программа Access применяет группировку к полям в последовательности слева направо.

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


1   2   3   4   5   6   7   8   9


База даних захищена авторським правом ©shag.com.ua 2016
звернутися до адміністрації

    Головна сторінка