使用 DAvg 函數來計算網域) (指定記錄集中的一組值的平均值。
語法
運算式。DAvg (運算式、 範圍、 準則)
expression 代表 Application 物件的變數。
參數
| 名稱 | 必要/選用 | 資料類型 | 描述 |
|---|---|---|---|
| Expr | 必要 | 字串 | 用於識別包含您要計算平均之數值資料的欄位的運算式。 它可以是識別資料表或查詢中欄位的字串運算式,或計算該欄位中資料的運算式。 在 Expr_ 中,您可以加入資料表中的欄位名稱、表單上的控制項、常數或函數。 如果 Expr 包含內建或使用者定義的函數,但不得是另一個網域彙總或 SQL 彙總函數。 |
| 網域 | 必要 | String | 字串運算式,識別構成網域的記錄集。 它可以是資料表名稱或不需要參數之查詢的查詢名稱。 |
| Variant | 用來限制在其上執行 DVarP 函數的資料範圍的選用的字串運算式。例如, criteria等於通常 WHERE 子句的 SQL 運算式,不含 where 位置。如果省略 criteria ,則 DVarP 函數會評估 expr針對整個網域。包含在 criteria任何欄位也必須是 domain; 中的欄位否則 DVarP 函數會傳回 Null 。 | 用來限制在其上執行 DAvg 函數的資料範圍的選用的字串運算式。 | 選用的字串運算式,用來限制要執行 DAvg 函數的資料範圍。 例如, Criteria 通常相當於 SQL 運算式中的 WHERE 子句,但沒有 WHERE 字樣。 如果省略 Criteria,DAvg 函數會針對整個範圍評估運算式。 [ 準則 ] 中包含的任何欄位也必須是 [範圍] 中的欄位;否則, DAvg 函數會傳回 Null。 |
傳回值
Variant
註解
例如,針對運費成本上在選取查詢的準則列中使用 DAvg 函數,限制只傳回運費成本超過平均值的結果。 或者也可以在計算控制項中使用包含 DAvg 函數的運算式,並在新訂單的值旁邊顯示以前訂單的平均值。
您可以使用 DAvg 函數可指定準則的查詢的準則] 列中。例如,假設您想要檢視所有產品中之訂單數量高於平均訂單數量排序的清單。您無法建立訂單、 Order Details 和 Products 資料表、 查詢,包括產品名稱] 欄位和 [數量] 欄位中具有數量欄位下方的準則] 列中的下列運算式:
無論您是在巨集、模組、查詢運算式或計算控制項中使用 DAvg 函數,您都必須仔細建構 Criteria 引數以確保能正確進行評估。
使用 DAvg 函數在查詢的 [準則] 列中指定準則。 例如,假設您想要檢視訂購數量超過平均訂購數量的所有產品清單。 您可以在 [訂單]、[訂單詳細資料] 和 [產品] 資料表上建立查詢,並包含 [產品名稱 ] 欄位和 [數量 ] 欄位,在 [數料] 欄位底下的 [準則] 資料列中包含下列運算式:
>DAvg("[Quantity]", "Orders")
您可以在查詢的導出欄位運算式內,或在更新查詢的 [更新至] 列中使用 DAvg 函數。
注意事項
在合計查詢的導出欄位運算式中使用 DAvg 或 Avg 函數。 如果您使用 DAvg 函數,值會在資料分組之前進行平均。 如果您使用 Avg 函數,資料會在欄位運算式中的值平均之前進行分組。
如果要指定準則限制執行 DAvg 函數的資料範圍,請在計算控制項中使用 DAvg 函數。 例如,若要顯示目的地為美國加州的已出貨運貨成本的平均值,請將文字方塊的 ControlSource 屬性設定為以下運算式:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
如果您只想想要 平均 Domain 中所有記錄的平均值,請使用 Avg 函數。
如果需要顯示的欄位不在表單所根據的記錄來源時,請在模組或巨集或是表單上的計算控制項中使用 DAvg 函數。 例如,假設您有一份以 [訂單] 資料表為基礎的表單,而您想要從 [訂單詳細資料] 資料表包含 [ 數量 ] 欄位,以顯示特定客戶訂購的平均項目數。 使用 DAvg 函數執行此計算,並顯示表單上的資料。
提示
- 如果 expr衍生的欄位資料類型是數字, DAvg 函數會傳回 雙精度浮點 資料類型。
- 如果 衍生 Expr 之欄位的資料類型是數字, DAvg 函數會傳回 Double 資料類型。 如果在計算控制項中使用 DAvg 函數,請在運算式中包含資料類型轉換函數來改善效能。
- 下列函數會傳回運送指定日期當天或之後的平均運費成本。網域是 Orders] 資料表。 criteria引數限制所產生的根據指定的國家/地區] 和 [運送日期的記錄集。請注意關鍵字 和 併入分隔 criteria引數中的多個欄位的字串。 DAvg 函數計算中所含的所有記錄會都有兩個這些條件。
範例
以下函數傳回運送或規定日期之後的訂單平均運貨成本。 其範圍為 [訂貨主檔] 資料表。 Criteria 引數會根據指定的國家/地區和出貨日期來限制結果的記錄集。 請注意,字串中包含關鍵字 AND ,以分隔 Criteria 引數中的多個欄位。 所有包含在 DAvg 函數計算式中的記錄都具備這兩個準則。
Public Function AvgFreightCost(ByVal strCountry As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function
Community Member Icon
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DAvg("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DAvg("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DAvg("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DAvg("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DAvg("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DAvg("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DAvg("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DAvg("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DAvg("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DAvg("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
' ***************************
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。