Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

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

例如,您可以在運費選取查詢的準則列中使用 DAvg 函數,將結果限製為運費超過平均值的記錄。 或者,您可以在計算控件中使用包含 DAvg 函數的運算式,並在新訂單的值旁邊顯示先前訂單的平均值。

語法

DAvg ( expr , domain [, criteria] )

DAvg 函數語法具有下列自變數:

引數

描述

expr

必要。 用來識別包含要平均值之數值數據之欄位的表達式。 它可以是識別資料表或查詢中欄位的 字串運算式,或可以是在該欄位的資料上執行計算的運算式。 在 expr 中,您可以包含資料表中的功能變數名稱、表單上的控制件、常數或函數。 expr 可包含內建或使用者定義的函數,但不得是另一個網域彙總或 SQL 彙總函數。

domain

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

criteria

可省略。 用來限制 執行 DAvg 函數之數據範圍的字串表達式。 例如, criteria 通常等同於 SQL 運算式中的 WHERE 子句,而沒有 WHERE 一詞。 如果省略 criteria,DAvg 函數會針對整個網域評估 exprcriteria 中包含的任何字段也必須是網中的欄位;否則 DAvg 函數會傳回 Null。


註解

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

無論您是在宏或模組、查詢運算式或計算控件中使用 DAvg 函數,您都必須仔細建構 criteria 自變數以確保正確評估。

您可以使用 DAvg 函數在查詢的 [準則] 列中指定準則。 例如,假設您想要檢視訂單數量高於平均訂單數量的所有產品清單。 您可以在 [訂單]、[訂單詳細數據] 和 [產品] 數據表上建立查詢,並包含 [產品名稱] 字段和 [數量] 字段,在 [數量] 字段底下的 [準則] 列中包含下列表達式:

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

您也可以在查詢的導出字段表達式內,或在 更新查詢的 [更新至] 列中使用 DAvg 函數。

附註: 您可以在 合計查詢的匯出字段表示式中使用 DAvgAvg 函數。 如果您使用 DAvg 函數,值會在資料分組之前進行平均。 如果您使用 Avg 函數,數據會在欄位表示式中的值平均之前分組。

當您需要指定準則以限制 DAvg 函數執行的數據範圍時,請在計算控件中使用 DAvg 函數。 例如,若要顯示寄送到加州的出貨平均運費,請將文本框的 ControlSource 屬性設為下列表達式:

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

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

如果您需要顯示的欄位不在表單的記錄來源中,您可以在模組或宏中使用 DAvg 函數,或在表單上的匯出控制項中使用。 例如,假設您有一份以 [訂單] 資料表為基礎的表單,而您想要從 [訂單詳細數據] 資料表包含 [數量] 字段,以顯示特定客戶訂購的平均項目數。 您可以使用 DAvg 函數執行此計算,並在表單上顯示資料。

秘訣

  • 如果您在導出控件中使用 DAvg 函數,建議您將控件放在表單頁首或頁尾,如此一來,每次移至新記錄時,就不會重新計算此控件的值。

  • 如果衍生 expr 之字段的數據類型是數位, 則 DAvg 函數會傳 回 Double 資料類型。 如果您在計算控件中使用 DAvg 函數,請在表達式中包含資料類型轉換函數,以改善效能。

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

附註: 使用這個函數時,不會包括 domain 中未儲存的記錄變更。 如果您希望 DAvg 函數根據變更的值,您必須先儲存變更,方法是按兩下 [資料] 索引標籤上 [記錄] 下的 [儲存記錄]、將焦點移至另一筆記錄,或使用 [更新] 方法。

範例

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

下列函數會傳回指定日期或之後出貨訂單的平均運費。 網域是 [訂單] 數據表。 criteria 自變數會根據指定國家/地區和出貨日期限制產生的記錄集合。 請注意,字串中包含了 AND 關鍵詞,以分隔 criteria 自變數中的多個字段。 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#

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×