DAvg 函數

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

您可以使用DAvg函數來計算的一組中指定的記錄 ( 範圍的) 一組值的平均。在 [Visual Basic for Applications (VBA) 模組中,在巨集、 查詢運算式,或計算控制項,請使用DAvg函數。

例如,您可以使用選取查詢的 [準則] 列中DAvg函數貨運成本,這些記錄限制結果運費成本超過平均的位置。或者,您可以使用包含DAvg函數計算控制項中的運算式,並顯示新的順序的值] 旁的上一個訂單的平均值。

語法

DAvg expr 、 網域 [,criteria] )

DAvg函數語法具有下列引數︰

引數

描述

expr

所需。您想要計算平均值運算式,識別包含數字資料的欄位。可以是識別欄位欄位的資料表或查詢, 字串運算式或執行計算該欄位中的資料的運算式。在expr,您可以包含資料表、 表單、 常數或函數上的控制項中的欄位的名稱。如果expr包含函數,它可以是內建或使用者定義,但不是另一個範圍聚合函數或 SQL 彙總函數。

domain

必要。 識別構成範圍之記錄集的字串運算式。 它可以是資料表名稱,或不需要參數之查詢的查詢名稱。

criteria

選用。用來限制DAvg函數執行的資料範圍的字串運算式。例如準則,通常會 WHERE 子句的 SQL 運算式,而 word 不相同位置。如果省略了準則,則DAvg函數會評估expr針對整個網域。Criteri中所包含任何欄位也必須網域; 中的欄位否則DAvg函數會傳回Null。


註解

包含Null值的記錄不包含在平均值的計算。

無論您使用DAvg函數中的巨集或模組,請在查詢運算式中,或在計算結果控制項中,您必須建立的準則引數仔細確認它會評估正確。

若要指定準則的查詢的 [準則] 列中,您可以使用DAvg函數。例如,假設您想要檢視的數量大於平均數量所有產品的清單。您可以建立查詢訂單]、 [訂單詳細資料,和 [產品] 資料表,包括 [產品名稱] 欄位和 [數量] 欄位中 [數量] 欄位下方的 [準則] 列的下列運算式︰

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

在查詢中,或在更新查詢的 [更新至] 列中,您也可以使用DAvg函數中的導出的欄位的運算式。

附註: 您可以在合計查詢導出的欄位運算式中使用DAvgAvg函數。如果您使用DAvg函數時,會平均值之前已分組的資料。如果您使用Avg函數時,資料已分組前平均欄位運算式中的值。

當您需要指定準則以限制DAvg函數執行的資料範圍時,請使用DAvg函數計算控制項中。例如,若要顯示貨運貨至加州的平均成本,] 文字方塊中的 [控制項資料來源] 屬性設定下列運算式︰

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

如果您只想要計算平均值網域中的所有記錄,請使用 [ Avg函數。

如果您要顯示的欄位不在您的表單為基礎的記錄來源,您可以使用DAvg函數在模組、 巨集或計算表單上控制項中。例如,假設您有 [訂單] 資料表為基礎的表單,而您想要包含 [數量] 欄位從 [訂單詳細資料] 資料表,才能顯示項目排序特定客戶的平均數目。您可以使用DAvg函數來執行此計算並顯示表單上的資料。

提示

  • 如果您是使用DAvg函數計算控制項中,您可能會想要將頁首或頁尾的控制項,這個控制項的值不會重新計算每次您移至新的記錄。

  • 如果 [ expr衍生] 欄位的資料類型是數字,則DAvg函數會傳回Double 資料類型。如果您使用DAvg函數計算控制項中時,請以提升效能運算式中包含資料類型轉換函數。

  • 雖然您可以使用DAvg函數,來判斷外部資料表中的欄位值的平均值,它可能會更有效率,以建立查詢,其中包含所有的欄位,您需要,然後表單或報表該查詢。

附註: 使用此函數時,不包含未儲存的變更網域中的記錄。如果您想要變更的值為基礎DAvg函數時,您必須先儲存所做的變更,即可儲存記錄[記錄] 底下,在 [資料] 索引標籤,將焦點移至其他記錄,或使用更新的方法。

範例

附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

下列函數會傳回平均運費運送指定的日期當天或之後的訂單。Orders 資料表中的網域。準則引數會限制設定記錄根據指定的國家/地區碼和出貨日期的結果。請注意關鍵字包含在字串來分隔多個欄位的準則引數。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#

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×