Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Конструирование запроса на выборку




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

Задание 13: Получите данные помесячно об объеме продаж каждым агентом конкретных видов изделий различным клиентам по себестоимости и договорной цене.

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

·

 
 

Для создания запроса в окне БД на закладке Запросынажмите кнопку Создать. Выберите режим конструктора:

Вы попадаете в режим конструирования запроса.

1. Вначале выбираются таблицы, необходимые для конкретного запроса.

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

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

· В нашем примере выбранные для отбора данных таблицы связаны между собой одно – многозначными связями (1:М), они устанавливаются в схеме данных автоматически.

3. В бланке запроса указывается:

ü в строках Поле, Имя таблицы – имена полей, используемых в запросе, и из каких таблиц они взяты;

ü в строке Вывод на экран –отмечаются поля, которые должны быть включены в результирующую таблицу;

ü в строке Сортировка - можно выбрать порядок сортировки записей результата;

ü в строке Условие отбора и строке Или - могут быть заданы условия отбора записей.

· Включите поле ФИО агента из таблицы «Агенты»в запрос. Для этого щелкните левой кнопкой мыши по полю ФИО агента в таблице «Агенты», поле автоматически включилось в запрос. Аналогично включите поля: ФИО заказчикаиз таблицы«Заказчики», Наименование товараиз таблицы«Каталог», Месяц, Проданное количествоиз таблицы«Продажи за год».

· В строке Вывод на экран отметьте, что выбранные поля будут включены в результирующую таблицу.

· Условия отбора задавать не требуется, поскольку необходима информация по всем агентам, заказчикам и продукции за весь период времени.

 
 

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

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

Ввод выражений в вычисляемые поля с помощью построителя выражений

· В свободном поле введите заголовок поля: Себестоимость: Далее нажмите на панели инструментов кнопку Построить. Открывается окно диалога Построителя выражений.

·

 
 

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

Себестоимость:([Каталог]![Цена за единицу]*[Продажи за год]![Проданное количество]).Для этого:

В левом окне выберите Таблицы/ Каталог, в среднем окне выберите Цена за единицу и нажмите кнопку Вставить.

Поставьте знак умножения, который находится на панели инструментов Построителя выраженийэ

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

Закройте круглую скобку. Нажмите кнопку ОК.

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

· В следующем свободном поле введите выражение с помощью построителя выражений:

Общая договорная стоимость: ([Продажи за год]![Договорная цена за единицу]*[Продажи за год]![Проданное количество])Данное выражение означает, что значения из поля Договорная цена за единицутаблицы “Продажи за год” умножаются на значения из поляПроданное количество этой же таблицы.

· В запросе отметьте, что вычисляемые поля выводятся на экран.

· Нажмите кнопку Запускзапроса на панели инструментов и сравните полученный результат с таблицей:

· Сохраните запрос под именем: «Запрос на выборку» и закройте его.

ФИО агента ФИО заказчика Наименование товара Месяц Проданное кол-во Себестоимость Общая договорная стоимость
Котов Иванов дискета 3,5 BASF
Котов Иванчук дискета 3,5 BASF
Великанов Иванчук дискета 3,5 BASF
Никулин Петров дискета 3,5 TDK
Никулин Федоров дискета 3,5 TDK
Никулин Федоров дискета 3,5 TDK
Котов Иванов картридж для принтера
Великанов Иванов картридж для принтера
Великанов Иванчук картридж для принтера
Котов Петров бумага для принтера
Котов Федоров бумага для принтера

Задание14: Осуществите выборку данных о работе конкретных агентов (агент задается пользователем) за интересующий период времени от начала года.

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

Параметрический запрос – это запрос, при выполнении которого запрашивается, по какому значению поля должна быть осуществлена выборка данных. Само значение поля вводится не в бланк запроса, а задается отдельно, в диалоге. Поэтому есть возможность при каждом запуске запроса на выполнение менять конкретное значение поля, выступающего в качестве критерия отбора информации. Для создания такого запроса нужно определить параметр запроса. Имя параметра запроса вводится непосредственно в условия отбора в квадратных скобках []. При выполнении запроса это имя появится в диалоговом окне. Введите значение параметра. Если в запрос вводится несколько параметров, то порядок их ввода через диалоговые окна определяется порядком расположения полей с параметрами в бланке запроса.

· Запрос создается в режиме Конструктора. В диалоговом окне Добавление таблицы выберите вкладку запросы и добавьте вместо исходных таблиц Запрос на выборку.

· Включите все поля таблицы Запрос на выборку в запрос.

· В условие отбора поля ФИО агента введите параметр: [введите имя агента:].А в условие отбора поля Месяц введите параметр:<=[введите конец учета:].Между условиями отбора в разных полях одной строки выполняется логическая операция AND, т.е. требуется вывести данные по конкретному агенту и за заданный период времени. Если условия отбора указаны в разных строках, то будет выполнена логическая операция OR.

Необходимозапомнить,что имя параметра запроса не должно совпадать с наименованием самого поля.Например, в условие отбора поля Месяц нельзя вводить [Месяц].

·

 
 

Запустите запрос на выполнение. Задайте в диалоге: Имя агента - Никулин,Конец учета- 10.

· Результатом выполнения данного запроса будет таблица, по структуре совпадающая с выходной таблицей по заданию 13, однако в нее будут включены записи только по агенту Никулину и с 1 по 10 месяцы включительно.

ФИО агента ФИО заказчика Наименование товара Месяц Проданное количество Себестоимость Общая договорная стоимость
Никулин Петров дискета 3,5 TDK
Никулин Федоров дискета 3,5 TDK
Никулин Федоров дискета 3,5 TDK
Никулин Давидеко чернила
Никулин Иванчук чернила

· Сохраните запрос под именем «Параметрический запрос».

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

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

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

· Создайте запрос в режиме Конструктора. В диалоговом окне Добавления таблиц добавьте запрос «Параметрический запрос». Далее из таблицы «Параметрический запрос» перенесите все поля, кроме месяца в бланк запроса.

· В свободное поле с помощью Построителя введите выражение:

Прибыль: ([Параметрический запрос]![Общая договорная стоимость]-[Параметрический запрос]![Себестоимость]).

· Установите Вывод на экран всех полей.

· Далее на панели инструментов нажмите кнопку Группировка,в запросе появится еще одна строкаГрупповые операции:

· В строке Групповые операции напротив полей введите:

ФИО агента

ФИО заказчика Группировка

Наименование товара

Проданное количество

Себестоимость Sum

Общая договорная стоимость

 
 

Прибыль - Выражение

· Запустите запрос и сравните результат с итогом, полученным в задании 14, при этом задайте следующие значения параметров: имя агента - Никулин,конец учета: 10.

ФИО агента ФИО заказчика Наименование товара Sum_Проданное количество Sum_Себестоимость Sum_Общая договорная стоимость Прибыль
Никулин Давидеко чернила
Никулин Иванчук чернила
Никулин Федоров дискета 3,5 TDK

· Сохраните запрос как «Запрос группировка данных»


Поделиться:

Дата добавления: 2014-11-13; просмотров: 83; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты