Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Функцию DAvg можно использовать для вычисления среднего значения набора значений в указанном наборе записей ( подмножество ). Используйте функцию DAvg в модуле Visual Basic для приложений (VBA), в макрос, в выражении запроса или в вычисляемый элемент управления.

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

Синтаксис

DAvg ( выражение , подмножество [, условия] )

Функция DAvg имеет следующие аргументы:

Аргумент

Описание

выражение

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

подмножество

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

условия

Необязательный. Строковое выражение, используемое для ограничения диапазона данных, на котором выполняется функция DAvg . Например, критерии часто эквивалентны предложению WHERE в выражении SQL без слова WHERE. Если условие опущено, функция DAvg оценивает expr для всего домена. Любое поле, включенное в criteria, также должно быть полем в домене; В противном случае функция DAvg возвращает значение NULL.

Замечания

Записи, содержащие значения NULL, при вычислении среднего значения не учитываются.

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

Функцию DAvg можно использовать для задания условий в строке "Условия" запроса. Предположим, что вы хотите просмотреть список всех продуктов, заказанных в количестве выше среднего. Для этого создайте запрос по таблицам "Заказы", "Заказано" и "Товары", включите поля "Марка" и "Количество" со следующим выражением в строке "Условия" под полем "Количество":

>DAvg("[Quantity]", "Orders")

Функцию DAvg можно также использовать в выражении вычисляемого поля в запросе или в строке Обновить до запрос на обновление.

Примечание: Функцию DAvg или Avg можно использовать в выражении вычисляемого поля в итоговый запрос. При использовании функции DAvg значения усреднены перед группировкой данных. При использовании функции Avg данные группируются до усреднения значений в выражении поля.

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

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

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

Функцию DAvg можно использовать в модуле или макросе либо в вычисляемом элементе управления в форме, если поле, которое требуется отобразить, не принадлежит к источнику записей, на котором основана форма. Например, предположим, что имеется форма, основанная на таблице "Заказы", и требуется включить поле "Количество" из таблицы "Заказано", чтобы отображать среднее число единиц товара, заказанных определенным клиентом. Для выполнения этих вычислений и отображения данных в форме используется функция DAvg.

Советы

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

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

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

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

Пример

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

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

Public Function AvgFreightCost _    (ByVal strCountryRegion As String, _     ByVal dteShipDate As Date) As Double    AvgFreightCost = DAvg("[Freight]", "Orders", _        "[ShipCountryRegion] = '" & strCountryRegion & _        "'AND [ShippedDate] >= #" & dteShipDate & "#")End Function

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

:AvgFreightCost "UK", #1/1/96#

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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