Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_указ к РГР СПСвСУ.doc
Скачиваний:
2
Добавлен:
13.11.2018
Размер:
363.01 Кб
Скачать

5.2.6 Перекрестные запросы

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

Представьте себе таблицу товаров, которая содержит три поля данных: “Тип”, “Поставщик” и “Цена”. Для каждой категории товаров требуется определить суммы цен товаров с указанием поставщика.

Поместите в окно конструктора запроса таблицу “Товары”. Затем включите строку “Групповая операция”, выбрав Вид/Групповые операции. После этого отбуксируйте поле данных “Тип” в бланк запроса. Для этого поля выберите из списка значение “Группировка”. Теперь во втором столбце бланка запроса выберите имя поля “Поставщик”. Для этого столбца также выберите значение “Группировка”. Последним в бланк запроса отбуксируйте поле “Цена”. Для этого поля выберите функцию “Sum”.

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

Теперь необходимо итоговый запрос превратить в перекрестный запрос. Для этого из меню выберите команду Запрос/ Перекрестный.

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

Инструкция TRANSFORM

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

Пример.

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

PARAMETERS [Год продажи ?] LONG;

TRANSFORM

Sum (Заказано.Количество * (Заказано.Цена – (Заказано.Скидка / 100) * Заказано.Цена)) AS Продажи

SELECT Марка

FROM Заказы INNER JOIN

(Товары INNER JOIN Заказано ON Товары.КодТовара = Заказано.КодТовара) ON Заказы.КодЗаказа = Заказано.КодЗаказа

WHERE DatePart(“yyyy”, ДатаРазмещения) = [ Год продажи?]

GROUP BY Марка

ORDER BY Марка

PIVOT DatePart(“m”, ДатаРазмещения);

В этом примере перед инструкцией TRANSFORM стоит оператор PARAMETERS, который запрашивает у пользователя значение переменной «Год продажи?». Это позволяет построить запрос с параметром.

5.3 Формы

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