Читайте также:
|
|
Функция Условие работает немного не так, как другие обобщающие функции. С ее помощью в запрос можно добавить критерий выбора записей без добавления дополнительного столбца в результирующую таблицу. Например, можно задать выбор только клиентов, расположенных в определенном городе, или заказов, сделанных после определенной даты. Вывести в результирующую таблицу столбец, содержащий функцию Условие, невозможно.
Рис. 11.6. Запрос возвращает количество клиентов, расположенных в каждом городе
Рис. 11.7. Задание заголовка столбца.
В примере, показанном на рис. 11.8, запрос возвращает количество заказанных в каждом городе товаров, имеющих идентификационный код 34. Количество суммируется отдельно по каждому городу. Если бы в столбце ИД товара не было условия =34, запрос просуммировал бы все товары, например, количество тракторов с количеством упаковок зеленого чая. Благодаря условию суммируются количества товаров только одного типа.
Рис. 11.8. Обобщаются только записи, удовлетворяющие условию.
Задание 32.
В таблице Сведения о заказе БД Борей подсчитайте количество товаров с состоянием Счет выставлен. Код состояния узнаете в таблице Состояние сведений о доставке.
Вы, конечно же, не раз слышали о конкурсах типа "Десять лучших фильмов года", "Десять лучших спортсменов" и т.д. Аналогично этому, при создании запроса можно задать вывод только определенного количества записей, в которых поля указанного столбца содержат максимальные значения. Роль жюри в данном случае выполняет свойство запроса Набор значений (Top Values). Если присвоить ему число, в результирующую таблицу будут выведены записи, количество которых равно этому числу. Свойству Набор значений можно присвоить значение в процентах. Тогда в результат будут выведены записи, количество которых равно заданному проценту от общего количества записей.
Предположим, нужно вывести список десяти клиентов, сделавших наибольшее количество покупок. Для решения этой задачи выполните следующие действия:
1. Создайте запрос, выводящий в первом столбце список клиентов, а во втором — количество сделанных покупок. Отсортируйте результирующую таблицу по убыванию количества покупок.
Запрос должен содержать как минимум один числовой столбец, в котором можно выбирать максимальные значения. Обычно для этого используется столбец с функцией Sum или Count.
2. Щелкните правой кнопкой мыши в пустом пространстве на верхней панели окна запроса (не щелкайте на списках столбцов).
3. Выберите в контекстном меню команду Свойства (Properties). Активизируется список свойств запроса.
4. Щелкните в поле свойства Набор значений.
В поле значения будут выведены мерцающий курсор ввода и стрелочка раскрывающегося списка. Это означает, что значение можно либо ввести с клавиатуры, либо выбрать в раскрывающемся списке.
5. Откройте список и просмотрите предлагаемые значения.
Как видите, нужного нам значения 10 в списке нет. Поэтому введите его с клавиатуры (рис. 11.9).
6. Щелкните на кнопке Режим таблицы (Datasheet View).
Будет выведена результирующая таблица, содержащая список клиентов, сделавших наибольшее количество покупок. Обратите внимание: список может содержать не обязательно 10 клиентов, как мы просили, а немного больше. Это объясняется тем, что несколько последних клиентов могут иметь одинаковое количество покупок. Кого из них исключить из списка, чтобы получилось ровно 10 клиентов? Программа Access не может допустить такой несправедливости и включает в список всех, у кого количество покупок такое же, как у последнего в десятке (не заметив, правда, что в список попали клиенты, купившие 20 пачек зеленого чая, и не попали, купившие 19 тракторов, но в этом уж виноваты мы, а не Access).
Рис. 11.9. Свойство Набор значений задает вывод 10 (или немного больше) записей, содержащих максимальные значения обобщающего поля
Свойство Набор значений не сортирует результат. Если не заполнить ячейку Сортировка (см. рис. 11.9), в результирующую таблицу будут выведены 10 (или немного больше) лучших клиентов в произвольной последовательности.
Задание 33.
Из таблицы Товары отберите 5 самых дорогих и 5 самых дешевых товаров по полю Цена по прейскуранту.
Дата добавления: 2015-12-07; просмотров: 67 | Нарушение авторских прав