(Access) 的 Application.DAvg 方法

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

語法

運算式DAvg (ExprDomainCriteria)

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 一字。 如果省略 CriteriaDAvg 函式會針對整個網域評估 ExprCriteria中包含的任何欄位也必須是 Domain 中的字;否則,DAvg 函式會傳回Null

傳回值

Variant

註解

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

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

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

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

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

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

注意事項

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

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

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

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

如果您需要顯示的欄位不在表單所根據的記錄來源中,請在模組或宏或表單上的匯出控制項中使用 DAvg 函式。 例如,假設您有以 Orders 資料表為基礎的表單,而且您想要包含 [訂單詳細資料] 資料表中的 [數量 ] 欄位,以顯示特定客戶訂購的平均專案數。 使用 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 支援與意見反應