В этой статье объясняется, как подсчитать данные, возвращаемые запросом в Access. Например, в форме или отчете можно подсчитать элементы в одном или нескольких полях таблицы или элементах управления. Вы также можете вычислить средние значения и найти наименьшие, самые большие, самые ранние и последние значения. Access также предоставляет функцию, называемую строкой Всего, которая позволяет подсчитывать данные в таблице без изменения структуры запроса.
Выберите нужное действие
- Способы подсчета данных
- Подсчет данных с помощью строки итогов
- Подсчет данных с помощью итогового запроса
- Справочные сведения об агрегатных функциях
Способы подсчета данных
Количество элементов в поле или столбце значений можно подсчитать с помощью Count функции . Функция Count принадлежит к набору функций, называемых агрегатными функциями. Агрегатные функции используются для вычисления столбца данных и возврата одного значения. Access предоставляет несколько агрегатных функций в дополнение к Count, например:
-
Sum, чтобы добавить столбец чисел. -
Average, чтобы вычислить среднее значение столбца чисел. -
Maximum, чтобы найти наибольшее значение в поле. -
Minimum, чтобы найти наименьшее значение в поле. -
Standard Deviation, чтобы измерить, насколько широко значения распределяются по среднему значению. -
Variance, чтобы измерить статистическую дисперсию всех значений в столбце.
Access предоставляет два способа добавления Count и других агрегатных функций в запрос:
- Открыть запрос в режиме таблицы и добавить строку итогов. Строка Total позволяет использовать агрегатную функцию в одном или нескольких столбцах результирующих наборов запросов без изменения структуры запроса.
- Создать итоговый запрос. В итоговом запросе вычисляются промежуточные итоги по группам записей. Например, если вы хотите вычислить промежуточную сумму всех продаж по городам или по кварталам, следует использовать итоговый запрос для группировки записей по нужной категории, а затем просуммировать все объемы продаж. С другой стороны, с помощью строки итогов можно вычислить общий итог для одного или нескольких столбцов (полей) данных.
Примечание
В разделах с инструкциями в этой статье основное Count внимание уделяется этой функции, но вы также можете использовать другие агрегатные функции в разделе Всего строк и запросов. Дополнительные сведения см. в статье Справочник по агрегатным функциям далее в этой статье.
Дополнительные сведения о способах использования других агрегатных функций см. в разделе Отображение итогов по столбцу в таблице.
В следующих разделах описано, как добавить строку Total и использовать запрос итогов для подсчета данных. Помните, что Count функция работает с большими типами данных, чем другие агрегатные функции. Например, можно выполнять с Count любым типом поля, кроме того, которое содержит сложные повторяющиеся скалярные данные, например поле многозначных списков.
В отличие от этого, многие агрегатные функции работают только с полями, которые используют определенный тип данных. Например, Sum функция работает только с полями, для которых заданы типы данных Number, Decimal или Currency. Дополнительные сведения о типах данных, которые требуются каждой функции, см. в статье Справочник по агрегатным функциям далее в этой статье.
Общие сведения о типах данных см. в статье Изменение типа данных для поля.
Подсчет данных с помощью строки итогов
Чтобы добавить строку Итого в запрос, откройте запрос в режиме таблицы, добавьте строку, а затем выберите функцию Count или другую агрегатную функцию, например Sum, Minimum, Maximumили Average. В этом разделе объясняется, как создать простой запрос на выборку и добавить строку итогов.
Создание простого запроса на выборку
- На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
- Дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе, а затем нажмите кнопку Закрыть.
Выбранные таблицы отображаются в виде окон в верхней части конструктора запросов. На этом рисунке показана типичная таблица в конструкторе запросов:
- Дважды щелкните поля таблицы, которые вы хотите использовать в запросе. Вы можете включить поля, содержащие описательные данные, например имена и описания, но следует обязательно добавить поле, содержащее подсчитываемые значения. Каждое поле отображается в столбце в бланке запроса.
- На вкладке Конструктор запросов в группе Результаты нажмите кнопку Выполнить. Результаты запроса отображаются в режиме таблицы.
- При необходимости переключитесь в Конструктор и скорректируйте запрос. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите Конструктор. Затем можно добавить или удалить поля таблицы при необходимости. Чтобы удалить поле, выделите столбец в конструкторской сетке и нажмите клавишу DELETE.
- При необходимости вы можете сохранить запрос.
Добавление строки итогов
- Откройте запрос в режиме таблицы. Щелкните правой кнопкой мыши вкладку документа для запроса и выберите пункт Представление таблицы. -или- В области навигации дважды щелкните запрос. Запрос будет выполнен, а его результаты будут загружены в таблицу.
- На вкладке Главная в группе Записи нажмите кнопку Итоги. Под последней строкой данных в таблице появится новая строка Итог.
- В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
Скрытие строки итогов
- На вкладке Главная в группе Записи нажмите кнопку Итоги.
Дополнительные сведения об использовании строки итогов см. в разделе Отображение итогов по столбцу в таблице.
Подсчет данных с помощью итогового запроса
Когда нужно подсчитать некоторые или все записи, возвращаемые запросом, то вместо строки итогов можно воспользоваться итоговым запросом. Например, вы можете подсчитать общее число сделок или число сделок в отдельном городе.
Как правило, итоговый запрос применяется вместо строки итогов тогда, когда требуется использовать значение результата в другой части базы данных, например в отчете.
Подсчет всех записей в запросе
- На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
- Дважды щелкните таблицу, которую вы хотите использовать в запросе, и нажмите кнопку Закрыть. Таблица появится в окне в верхней части конструктора запросов.
- Дважды щелкните поля, которые вы хотите использовать в запросе, и убедитесь, что вы включили поле, которое нужно подсчитать. Можно подсчитать поля большинства типов данных, исключение — поля, содержащие сложные повторяющиеся скалярные данные, такие как поля многозначных списков.
- На вкладке Конструктор запросов в группе Показать и скрыть щелкните Итоги. В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
- В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
- На вкладке Конструктор запросов в группе Результаты нажмите кнопку Выполнить. Результаты запроса отображаются в режиме таблицы.
- При необходимости вы можете сохранить запрос.
Подсчет записей в группе или категории
- На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
- Дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе, а затем нажмите кнопку Закрыть. Таблица (или таблицы) появится в окне в верхней части конструктора запросов.
- Дважды щелкните поле, содержащее данные категории, а также поле, значения в котором вы хотите подсчитать. Запрос не может содержать других описательных полей.
- На вкладке Конструктор запросов в группе Показать и скрыть щелкните Итоги. В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
- В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
- На вкладке Конструктор запросов в группе Результаты нажмите кнопку Выполнить. Результаты запроса отображаются в режиме таблицы.
- При необходимости вы можете сохранить запрос.
Справочные сведения об агрегатных функциях
В следующей таблице перечислены агрегатные функции, которые Access предоставляет для использования в строке Всего и в запросах. Access предоставляет больше агрегатных функций для запросов, чем для строки Всего.
| Функция | Описание | Поддерживаемые типы данных |
|---|---|---|
Sum |
Суммирует элементы в столбце. Подходит только для числовых и денежных данных. | "Число", "Действительное", "Денежный" |
Average |
Вычисляет среднее значение для столбца. Столбец должен содержать числовые или денежные величины или значения даты или времени. Функция игнорирует пустые значения. | "Число", "Действительное", "Денежный", "Дата/время" |
Count |
Подсчитывает число элементов в столбце. | Все типы данных, за исключением сложных повторяющихся скалярных данных, таких как столбец многозначных списков. Дополнительные сведения о многозначных списках см. в разделе Создание или удаление многозначного поля. |
Maximum |
Возвращает элемент, имеющий наибольшее значение. Для текстовых данных самым высоким значением является последнее алфавитное значение, а Access игнорирует регистр. Функция игнорирует пустые значения. | "Число", "Действительное", "Денежный", "Дата/время" |
Minimum |
Возвращает элемент, имеющий наименьшее значение. Для текстовых данных наименьшим значением является первое алфавитное значение, а в Access игнорируется регистр. Функция игнорирует пустые значения. | "Число", "Действительное", "Денежный", "Дата/время" |
Standard Deviation |
Измеряет, насколько широко значения распределяются по среднему значению. Дополнительные сведения об использовании этой функции см. в разделе Отображение итогов столбцов в таблице. | "Число", "Действительное", "Денежный" |
Variance |
Вычисляет статистическую дисперсию для всех значений в столбце. Подходит только для числовых и денежных данных. Если таблица содержит менее двух строк, Access возвращает значение NULL. Дополнительные сведения о функциях дисперсии см. в разделе Отображение итогов столбцов в таблице. | "Число", "Действительное", "Денежный" |