Студопедия

КАТЕГОРИИ:

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


Примечание. Если у вас есть подстановка, определенная для полей ProductID и CustomerID, вы увидите описание из поля подстановки (например




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

 

 

Если вставить в запрос объединение или два, можно извлечь подчиненную информацию из связанных таблиц (таких как Customers, Productsи Orders)и добавить ее в ваши ре­зультаты. На рис. 7.10 показан пример вычисления общей стоимости каждого заказа. Затем результаты отсортированы по коду клиента CustomerID.


 
 

Рис. 7.10. Вверху: итоговый запрос можно усовершенствовать, дополнив его информацией из трех связанных таблиц: Customers, Orders и OrderDetails, для отображения списка сумм заказов, упорядоченных по клиентам. В запросе игнорируются заказы стоимостью меньше $25. Можно вставить условие отбора в поле DatePlaced, чтобы узнать, сколько потратили клиенты до нынешнего дня текущего года, сколько они потратили в прошлом году, на прошлой неделе и т. д. Внизу: результаты сгруппированы по OrderID и отсортированы по LastName и FirstName, что сохраняет хороший уровень детализации

 

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

1. Создайте новый запрос, выбрав СозданиеДругиеКонструктор запросов(Create → Other → Query Design).

2. Вставьте нужные вам таблицы с помощью диалогового окна Добавление таблицы(Show Table) и затем щелкните мышью кнопку Закрыть(Close).


В примере на рис. 7.10 используются таблицы Customers, Ordersи OrderDetails.После добавления этих таблиц программа Access вставит линии объединения между ними на основе связей, установленных в вашей БД.

3. Выберите Работа с запросами | КонструкторПоказать или скрытьИтоги(Choose Query Tools | Design → Show/Hide → Totals).

У каждого поля появится ячейка Групповая операция.

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

Поля можно выбирать из любых связанных таблиц. В данном примере применяются следующие поля.

o OrderID— это поле используется для группировки результатов. Другими словами, вы хотите подытожить все записи в таблице OrderDetailsс одинаковым значением поля OrderID.Для выполнения этой работы в ячейке Групповая операциявыберите вариант Группировка.(Между прочим, неважно, какое поле вы выберите — OrderIDв таблице OrderDetailsили ГОв таблице Orders— они связаны.)

o OrderTotal— это вычисляемое поле, использующее выражение [Price] * [Quantity] для перемножения двух полей из таблицы OrderDetails.В результате получится итог для отдельной строки заказа. Программа Access суммирует эти строчные итоги для получения общего итога, поэтому задайте в ячейке Групповая операциявариант Sum.В поле OrderTotalвключено условие отбора >=25, скрывающее любые заказы с общей стоимостью ниже $25.

  • LastNameи FirstName— эти поля идентифицируют клиента, сделавшего заказ. Но здесь есть хитрость. Для отображения в итоговом запросе любого поля нужно вста­вить для него вычисление (как для поля OrderTotal)или использовать его для груп­пировки (как поле OrderID).Это означает, что вы должны установить в ячейке Груп­повая операциявариант Группировкадля обоих полей. Эта установка на самом деле не будет оказывать никакого влияния, поскольку каждый заказ делается всегда одним клиентом. (Другими словами, вы никогда не найдете в таблице OrderDetailsгруппу записей из одного заказа, но для разных клиентов. Это просто невозможно.) В ре­зультате программа Access не выполнит никакой группировки полей LastNameи FirstName,они просто будут отображаться рядом с каждым заказом.

 

 


Поделиться:

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





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