Функция DAvg

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

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

Синтаксис

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

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

Аргумент

Описание

выражение

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

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

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

условия

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


Замечания

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

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

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

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

Кроме того, функция DAvg используется в выражении вычисляемого поля в запросе или в строке "Обновление" запроса на обновление.

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

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

=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#

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

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

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

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

×