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

В этой статье объясняется, как работать с запросами на набор значений для поиска наибольших или наименьших значений в наборе записей. Запросы на набор значений используются для ответа на различные деловые вопросы, например о том, какой товар продается хорошо, а какой плохо.

Выберите нужное действие

Общие сведения о запросах на набор значений

Поиск записей, содержащих наибольшие или наименьшие значения

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

Поиск записей, содержащих наибольшие и наименьшие значения

Общие сведения о запросах на набор значений

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

  • Какой товар является наиболее дорогим или наиболее дешевым?

  • У каких трех сотрудников в ближайшее время будет день рождения?

  • Какие отделы лидируют или отстают по продажам в этом году?

  • Какие 5 процентов товаров хуже всего или лучше всего продаются?

  • Какие 5 процентов товаров в каждой из категорий лучше или хуже всего продаются?

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

Создание запроса на набор значений включает следующие основные этапы:

  • Создание запроса на выборку или итогового запроса.

    Запрос на выборку используется для поиска наибольших или наименьших значений в таблице. Итоговый запрос позволяет найти наибольшие или наименьшие значения в одной или нескольких категориях. Например, если вам нужен ответ на вопрос "Какой товар самый дорогой или самый дешевый?", то следует начать с создания запроса на выборку. Чтобы ответить на вопрос "Какие пять процентов товаров в каждой из категорий лучше или хуже всего продаются?", используйте итоговый запрос. Кроме того, вы можете использовать любой из них для поиска наибольших или наименьших значений в группе или категории записей.

  • Сортировка запроса.

  • Применение к запросу других условий.

  • Задание числа записей, которые должен возвращать запрос. Вы можете указать процент, например первые 5 процентов значений в поле, или конкретное число, например первые 10 значений в поле.

Выбор между запросом на набор значений и фильтром

Чтобы определить, стоит ли создавать запрос на набор значений или же следует применить фильтр, примите во внимание следующее:

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

  • Если вы хотите отобрать все записи, в которых значения поля равны нужному значению либо больше или меньше его, то следует применить фильтр. Например, чтобы отобрать товары с ценой от 50 до 100 ₽, лучше применить фильтр. На рисунке показаны пример фильтра в Конструкторе с запросом и результаты его применения:

    Товары ценой от 50₽ до 100₽

    Дополнительные сведения о создании и применении фильтров см. в статье Фильтр: ограничение количества записей в представлении.

Правила создания и использования запросов на набор значений

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

Поиск записей, содержащих наибольшие или наименьшие значения

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

Фамилия

Имя

Адрес

Город

Страна или регион

Дата рождения

Дата приема на работу

Авдеев

Григорий

Загородное шоссе, д. 150

Москва

РФ

05-фев-1968

10-июн-1994

Кузнецов

Артем

ул. Гарибальди, д. 170

Пермь

РФ

22-май-1957

22-ноя-1996

Дегтярев

Дмитрий

ул. Кедрова, д. 54

Красноярск

РФ

11-ноя-1960

11-мар-2000

Зуева

Ольга

ул. Губкина, д. 233

Тверь

РФ

22-мар-1964

22-июн-1998

Белых

Николай

пл. Хо Ши Мина, д. 15, кв. 5

Москва

РФ

05-июн-1972

05-янв-2002

Комарова

Лина

ул. Ляпунова, д. 70, кв. 16

Красноярск

РФ

23-янв-1970

23-апр-1999

Зайцев

Сергей

ул. Строителей, д. 150, кв. 78

Омск

РФ

14-апр-1964

14-окт-2004

Ермолаева

Анна

ул. Вавилова, д. 151, кв. 8

Иркутск

РФ

29-окт-1959

29-мар-1997

Зуева

Ольга

ул. Губкина, д. 233

Тверь

РФ

22-мар-1964

20-июн-1998

При желании вы можете ввести данные примера вручную или скопировать эту таблицу в редактор электронных таблиц, например Microsoft Office Excel 2007, а затем импортировать полученный лист в таблицу Microsoft Office Access 2007.

Как это сделать?

Ввод примеров данных вручную

  1. на вкладке Создание в группе Таблицы нажмите кнопку Таблица.

Office Access 2007 добавит в базу данных новую пустую таблицу.

Примечание : Эту операцию следует выполнять только при необходимости добавить таблицу в базу данных. При открытии новой пустой базы данных это действие не требуется.

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

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

  3. Введите данные из примера таблицы.
    По мере ввода данных Access определяет их тип для каждого поля. Если вы плохо знакомы с реляционными базами данных, для каждого поля таблицы следует задать конкретный тип данных, например "Число", "Текст" или "Дата/время". Это обеспечивает точный ввод данных и помогает предотвратить ошибки, например использование цифр номера телефона в вычислениях. Для этих примеров таблиц можно определить тип данных автоматически.

  4. Завершив ввод данных, нажмите кнопку Сохранить
    Сочетание клавиш: нажмите CTRL+S.
    Откроется диалоговое окно Сохранение документа.

  5. В поле Имя таблицы введите имя примера и нажмите кнопку ОК.
    Следует использовать указанные имена таблиц, потому что они используются в запросах, приведенных в пошаговых инструкциях.

  6. Повторяйте эти шаги, пока не создадите каждый из примеров таблиц, приведенных в начале этого раздела.

Копирование таблицы в редактор электронных таблиц

  1. Запустите редактор электронных таблиц и создайте пустой файл. Если вы используете Excel, по умолчанию создается пустая книга.

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

  3. Задайте для листа имя Сотрудники с помощью функций редактора электронных таблиц.

  4. Сохраните файл электронной таблицы в удобном месте и переходите к следующим шагам.

Импорт таблицы в Access

  1. В новой или существующей базе данных:
    На вкладке Внешние данные в группе Импорт выберите команду Excel.
    -или-
    Нажмите кнопку Дополнительно и выберите в списке редактор электронных таблиц.
    Откроется диалоговое окно Внешние данные — лист <имя программы>.

  2. Нажмите кнопку Обзор, откройте файл электронной таблицы, созданный на предыдущих этапах, и нажмите кнопку ОК.
    Откроется окно мастера импорта электронных таблиц.

  3. По умолчанию мастер выбирает первый лист в книге (в этом примере — лист "Сотрудники"), и данные из этого листа появляются в нижней части страницы мастера. Нажмите кнопку Далее.

  4. На следующей странице мастера выберите Первая строка содержит названия столбцов, а затем нажмите кнопку Далее.

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

  6. Оставьте параметр автоматически создать ключ выбранным и нажмите кнопку Далее.

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

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

Создание простого запроса на набор значений

  1. На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.

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

  3. Добавьте на бланк поля, которые вы хотите использовать в запросе. Вы можете дважды щелкнуть каждое поле или перетащить его в пустую ячейку в строке Поле.
    Если вы работаете с примером таблицы, то добавьте поля "Фамилия", "Имя" и "Дата рождения".

  4. В поле, содержащем наибольшие и наименьшие значения (в нашем примере — поле "Дата рождения"), щелкните строку Сортировка и выберите По возрастанию или По убыванию.
    Если поля значений содержат числа, например цены или объемы продаж, то порядок сортировки По возрастанию возвращает наименьшие значения, а порядок сортировки По убыванию — наибольшие значения. Если поля значений содержат даты, то порядок сортировки По убыванию возвращает самую последнюю дату, а порядок сортировки По возрастанию — самую раннюю дату.

    Важно : Необходимо указать в строке Сортировка значение По возрастанию или По убыванию только для полей, в которых вы ищете наибольшие и наименьшие значения. Если задать порядок сортировки для другого поля (например, поля "НазваниеТовара" вместо поля "Цена"), запрос не будет возвращать требуемые результаты.

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

  6. Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить Изображение кнопки .

  7. Сохраните запрос и оставьте его открытым, чтобы использовать на следующих шагах.

Как вы видите, этот тип запросов на набор значений дает ответы на основные вопросы, например "Кто из сотрудников самый старший или самый молодой?". Ниже описано, как с помощью выражений и других условий создавать более точные и гибкие запросы. Запрос по описанным ниже условиям выдает ближайшие дни рождения у трех сотрудников.

Добавление условий в запрос

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

  1. Откройте запрос, созданный на предыдущих шагах, в Конструкторе.

  2. В бланке запроса в столбце справа от столбца "Дата рождения"» скопируйте и вставьте или введите выражение Expr1: DatePart("m"; [Дата рождения]). Функция DatePart извлекает месяц из значения в поле "Дата рождения".

  3. Справа от столбца, содержащего выражение, скопируйте и вставьте или введите выражение Expr2: DatePart("d"; [Дата рождения]). В этом случае функция DatePart извлекает день из значения в поле "Дата рождения".

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

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

    Month([Дата рождения]) > Month(Date()) Or Month([Дата рождения])= Month(Date()) And Day([Дата рождения])>Day(Date())

    Это выражение делает следующее: часть Month([Дата рождения]) > Month(Date()) проверяет, приходится ли день рождения каждого сотрудника на следующий месяцу и, если это так, включает его запись в запрос. Часть Month([Дата рождения])= Month(Date()) And Day([Дата рождения])>Day(Date()) проверяет дни рождения в текущем месяце и, если они не раньше текущей даты, включает эти записи в результаты запроса. Коротко говоря, это выражение пропускает все записи, в которых день рождения попадает в интервал от 1 января до даты выполнения запроса.

    Другие примеры выражений условий для запросов можно найти в статье Примеры условий запроса.

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

  7. Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить Изображение кнопки .

Если запрос возвращает больше записей, чем ожидалось

Если в данных есть записи с одинаковым значением даты, запрос может возвращать больше записей, чем вы ожидали. Например, вы можете создать запрос на набор значений для получения записей о трех сотрудниках, но фактически будет отображено четыре, поскольку у Измайлова и Быкова дни рождения совпадают. Этот тип запроса возвращает все наибольшие значения независимо от того, сколько записей их содержат. Чтобы исключить повторяющиеся значения, можно задать значение Да для свойства Уникальные значения. Сведения об использовании этого свойства см. далее в разделе Если выводятся повторяющиеся записи.

Фамилия

Дата рождения

Жданов

26.09.1968

Селезнев

02.10.1970

Измайлов

15.10.1965

Быков

15.10.1969

Если запрос возвращает меньше записей, чем ожидалось

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

Если выводятся повторяющиеся записи

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

Дата поставки

Продавец

12.11.2004

Иванов

12.11.2004

Воронков

12.10.2004

Попов

12.10.2004

Попов

12.10.2004

Иванов

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

Чтобы избежать отображения повторяющихся записей, можно выполнить одно из двух действий в зависимости от требуемого результата. Вы можете изменить структуру запроса, добавив поля, которые позволят различить записи, например поля "КодЗаказа" и "КодКлиента". Или, если достаточно показать только одну из повторяющихся записей, вы можете выбрать отображение только уникальных записей, задав значение Да для свойства запроса Уникальные значения. Чтобы настроить это свойство, в Конструкторе нажмите клавишу F4, чтобы отобразить страницу свойств запроса, найдите свойство Уникальные значения и установите для него значение Да.

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

К началу страницы

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

Чтобы найти наибольшие и наименьшие значения для записей в группах, можно создать итоговый запрос. Помните, что по умолчанию итоговый запрос может включать только поле или поля, содержащие данные, по которым выполняется группировка, например поле "Категории", а также поля с наибольшими или наименьшими значениями, например поле "Цена". Итоговые запросы не могут включать другие поля, описывающие значения внутри категории. Однако вы можете создать второй запрос, включающий поля из итогового запроса и поля из других таблиц, содержащие описательные данные.

Например, предположим, что у вас есть таблица товаров, каждый из которых относится к определенной категории, такой как "Настольные игры", "Головоломки" и т. д. Если вы создаете итоговый запрос для определения наиболее дорогого товара в каждой категории, он может включать только поле или поля, содержащие данные о категории, и поле со сведениями о цене. В нашем примере это поля "Название категории" и "Цена". При выполнении такого типа запроса Access подставляет префиксы "Максимум_" или "Минимум_" (в зависимости от выбранной функции) в начало названия поля "Цена":

Название категории

Максимум_Цена

Настольные игры

55,00 ₽

Головоломки

43,90 ₽

Компьютерные игры

263,50 ₽

Куклы

81,00 ₽

...

...

Итоговый запрос не может включать другие поля, служащие для описания товара (и упрощающие понимание данных), например названия товаров или названия фирм-поставщиков:

Название категории

Максимум_Цена

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

Поставщик

Настольные игры

55,00 ₽

Занимательный C++

Proseware, Inc.

Головоломки

43,90 ₽

Схема реляционной базы данных

Lucerne Publishing

Компьютерные игры

263,50 ₽

Компьютерные маньяки и мифические животные

Корпорация "Софт"

Куклы

81,00 ₽

Игрушечный программист

Contoso, Ltd

...

...

...

...

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

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

Таблица "Категории"

КодКатегории

Название категории

Описание

1

Настольные игры

Для всех возрастов и уровней навыков

2

Головоломки

Мозаики, ребусы, игрушки-головоломки

3

Компьютерные игры

Для любых консолей и уровней навыков

4

Куклы

Фигурки, куклы

5

Спортивное снаряжение

Мячи, одежда, сетки

6

Модели для сборки

Самолеты, машины, поезда

Таблица "Поставщики"

КодПоставщика

Поставщик

1

Fabrikam

2

Лесопитомник

3

Northwind Traders

4

Adventure Works

5

Lucerne Publishing

6

Proseware, Inc.

7

Contoso, Ltd

8

Wide World Importers

9

Wingtip Toys

10

Wide World Importers

11

Корпорация "Софт"

12

Southridge Video

Таблицы "Товары"

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

КодПоставщика

КодКатегории

Цена

Игрушечный программист

7

4

12,95 ₽

Занимательный C++

6

1

15,85 ₽

Схема реляционной базы данных

5

2

22,50 ₽

Волшебная микросхема

3

2

32,65 ₽

Игра Access

1

1

22,95 ₽

Компьютерные маньяки и мифические животные

11

3

78,50 ₽

DVD-диск "Упражнения для компьютерных маньяков"

4

5

14,88 ₽

Неуловимая летающая пицца

2

5

36,75 ₽

Внешний дисковод гибких дисков 5.25'' (масштаб 1:4)

8

6

65,00 ₽

Игрушечный менеджер

9

4

78,88 ₽

Тьма

12

3

53,33 ₽

Собери клавиатуру

1

6

77,95 ₽

Примечание : Предполагается, что между таблицами "Категории" и "Товары", а также между таблицами "Поставщики" и "Товары" установлены отношения "один-ко-многим". В этом случае поля "КодПоставщика" и "КодКатегории" в этих таблицах общие. Если не создать эти отношения, то итоговый запрос, описанный ниже, не будет работать.

Создание итогового запроса

  1. На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.

  2. В диалоговом окне Добавление таблицы выберите нужные таблицы, нажмите кнопку Добавить, а после добавления таблиц нажмите кнопку Закрыть.
    -или-
    Дважды щелкните каждую из нужных таблиц, а затем нажмите кнопку Закрыть. Каждая таблица отображается в бланке запроса. При использовании таблиц из примера выше добавьте таблицы "Категории" и "Товары".

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

  4. Кроме того, можно указать условие для ограничения области действия запроса.
    Будут отсортированы только записи, соответствующие условиям, а в отсортированном списке будут найдены наибольшие и наименьшие значения. Например, чтобы исключить товары категории "Спортивное снаряжение", добавьте в строку Условия отбора поля "Название категории" следующее выражение: <>"Спортивное".
    Другие примеры выражений условий для запросов можно найти в статье Примеры условий запроса.

  5. Преобразуйте запрос в итоговый запрос.

    1. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.

      В бланке запроса появится строка Итог.

  6. Убедитесь, что ячейка Итог каждого поля группы содержит значение Группировка, а затем в ячейке Итог того поля, в котором ищутся наибольшие или наименьшие значения, выберите Max или Min.
    Выбор значения Max возвращает наибольшее значение в числовом поле и самую последнюю дату или время в поле даты и времени. Выбор значения Min возвращает наименьшее значение в числовом поле и самую раннюю дату или время в поле даты или времени. В нашем примере выберите в ячейке Итог поля "Название категории" значение Группировка, а в ячейке Итог поля "Цена" — параметр Max или Min.

  7. На вкладке Конструктор в группе Сервис убедитесь, что в списке Набор значений выбрано значение Все, а затем нажмите кнопку Выполнить Изображение кнопки , чтобы запустить запрос и отобразить результаты в режиме таблицы.

    Примечание : В зависимости от функции, выбранной на шаге 7, Access изменяет имя поля значения в запросе на Максимум_ИмяПоля или Минимум_ИмяПоля. В нашем примере поле будут переименовано в Максимум_Цена или Минимум_Цена.

  8. Сохраните запрос и переходите к следующим шагам.

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

Создание второго запроса для отображения более подробных данных

  1. На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.

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

  3. Откройте вкладку Таблицы и добавьте таблицы, которые использовались в итоговом запросе, и любые таблицы, содержащие другие связанные данные, которые вы хотите отобразить.
    В нашем примере добавьте в новый запрос таблицы "Категории", "Товары" и "Поставщики".

  4. Свяжите поля в итоговом запросе с соответствующими полями в родительских таблицах. Для этого перетащите каждое поле из итогового запроса на соответствующее поле в таблице.

    В описанном примере перетащите поле имя "Название категории" из итогового запроса на поле "Название категории" в таблице "Категории". Затем перетащите поле "Максимум_Цена" из итогового запроса на поле "Цена" в таблице "Товары". Благодаря объединению новый запрос на выборку связывает данные из итогового запроса с данными из других таблиц.

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

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

  6. При необходимости вы можете задать порядок сортировки для одного или нескольких столбцов.
    Например, чтобы вывести список категорий в алфавитном порядке, выберите в ячейке Сортировка столбца "Название категории" значение По возрастанию.

  7. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

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

Совет.    Если вам не нравится, что заголовок столбца "Цена" называется Максимум_Цена или Минимум_Цена, то откройте запрос в Конструкторе и в столбце "Цена" в бланке запроса введите Цена: Максимум_Цена или Цена: Минимум_Цена. После этого в заголовке столбца в режиме таблицы будет выводиться название Цена.

К началу страницы

Поиск записей, содержащих наибольшие и наименьшие значения

Запросы, созданные ранее в этой статье, возвращают либо наибольшие, либо наименьшие значения, но не оба набора сразу. Если вы хотите отобразить оба набора значений в одном представлении, следует создать два запроса (один для получения наибольших значений и другой для получения наименьших значений), а затем объединить и сохранить результаты в одной таблице.

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

  • Создание запроса на поиск наибольших значений и запроса на поиск наименьших значений или, при необходимости группировки данных, создание итоговых запросов, использующих функции Min и Max.

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

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

    Ниже описан процесс создания такого запроса.

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

    Включение содержимого базы данных

    • На панели сообщений нажмите Параметры.

      Откроется диалоговое окно Параметры безопасности Microsoft Office.

    • Выберите Включить это содержимое, а затем кнопку ОК.

    • Выполните запрос еще раз.

      Если вы не видите панель сообщений

    • На вкладке Работа с базами данных в группе Показать или скрыть нажмите кнопку Панель сообщений.

      Дополнительные сведения о режиме отключения и безопасности в Access см. в статье Защита базы данных Access 2007.

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

  • Создайте запросы на поиск наибольших и наименьших значений.

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

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

Создание запроса на создание таблицы

  1. В запросе на поиск наибольших значений, открытом в Конструкторе:

    На вкладке Конструктор в группе Тип запроса нажмите кнопку Создание таблицы.
    Откроется диалоговое окно Создание таблицы.

  2. В поле Имя таблицы введите имя таблицы, которая будет хранить записи с наибольшими и наименьшими значениями. Например, введите Наибольшие и наименьшие значения, а затем нажмите кнопку ОК.
    Каждый раз при выполнении запроса вместо отображения результатов в режиме таблицы запрос будет создавать таблицу и замещать значения текущими данными.

  3. Сохраните и закройте запрос.

Создание запроса на добавление

  1. Откройте запрос на поиск наименьших значений в Конструкторе.

  2. На вкладке Разработка в группе Тип запроса выберите команду Добавить.

  3. В диалоговом окне Добавление введите то же имя, что было указано в диалоговом окне Создание таблицы.
    Например, введите Наибольшие и наименьшие значения, а затем нажмите кнопку ОК. Каждый раз при выполнении запроса вместо отображения результатов в режиме таблицы он будет добавлять записи в таблицу "Наибольшие и наименьшие значения".

  4. Сохраните и закройте запрос.

Выполнение запросов

Теперь вы готовы запустить оба запроса.

  • В окне базы данных дважды щелкните запрос на поиск наибольших значений и нажмите кнопку Да в сообщениях.

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

  • Откройте таблицу с набором записей в режиме таблицы.

К началу страницы

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×