分享方式:


Application.DAvg 方法 (存取)

使用 DAvg 函數來計算網域) (指定記錄集中一組值的平均值。

語法

表達。DAvg (Expr領域標準)

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 函數會針對整個網域評估 Expr。 條件 中包含的任何 欄位也必須是 網域中的欄位;否則, DAvg 函式會傳回 Null

傳回值

Variant

註解

例如,針對運費成本上在選取查詢的準則列中使用 DAvg 函數,限制只傳回運費成本超過平均值的結果。 或者也可以在計算控制項中使用包含 DAvg 函數的運算式,並在新訂單的值旁邊顯示以前訂單的平均值。

您可以使用 DAvg 函數可指定準則的查詢的準則] 列中。例如,假設您想要檢視所有產品中之訂單數量高於平均訂單數量排序的清單。您無法建立訂單、 Order Details 和 Products 資料表、 查詢,包括產品名稱] 欄位和 [數量] 欄位中具有數量欄位下方的準則] 列中的下列運算式:

無論您是在巨集或模組、查詢運算式或計算控制項中使用 DAvg 函式,都必須仔細建構 Criteria 引數,以確保正確評估它。

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

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

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

注意事項

在總計查詢的計算欄位運算式中使用 DAvgAvg 函數。 如果您使用 DAvg 函數,則在將資料分組之前,會對值進行平均。 如果您使用 Avg 函數,則會在對欄位運算式中的值進行平均之前對資料進行分組。

如果要指定準則限制執行 DAvg 函數的資料範圍,請在計算控制項中使用 DAvg 函數。 例如,若要顯示目的地為美國加州的已出貨運貨成本的平均值,請將文字方塊的 ControlSource 屬性設定為以下運算式:

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

如果您只想平均 網域中的所有記錄,請使用 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 支援與意見反應