DVar、DVarP 函式

套用到
Microsoft 365 Access Access 2021 Access 2019 Access 2016

你可以使用 DVarDVarP 函式,在特定紀錄集合中, (域) 中,估算一組值的變異。 在Visual Basic for Applications中使用 DVarDVarP 函式 (VBA) 模組、巨集、查詢表達式或表單或報告上的計算控制項。

使用 DVarP 函數來評估母體的差異,使用 DVar 函數來評估母體樣本的差異。

例如,您可以使用 DVar 函數來計算一組學生考試成績的差異。

語法

DVar (expr、領域 [, 標準] )

DVarP (expr, domain [, criteria] )

DVarDVarP 函數有以下引數:

引數 描述
expr 必要。 運算式,用來識別您要尋找差異的數值欄位。 它可以是用來識別資料表或查詢欄位的字串表達式,也可以是對該欄位資料進行計算的表達式。 在 expr 中,你可以將名稱欄位放在表格中、表單上的控制項、常數或函式。 如果 expr 包含函式,可以是內建或使用者定義的,但不能是其他網域聚合或 SQL 聚合函式。 expr 中包含的欄位必須是數值欄位。
domain 必要。 識別構成範圍之記錄集的字串運算式。 它可以是資料表名稱,或不需要參數之查詢的查詢名稱。
criteria 可省略。 用來限制執行 DVarDVarP 函數的資料範圍的字串運算式。 例如, criteria 通常等同於 SQL 表達式中的 WHERE 子句,但沒有 WHERE 這個詞。 若遺漏 條件 ,則 DVarDVarP 函數會對整個域評估 expr 。 任何包含在 條件 中的欄位也必須是 領域中的欄位;否則 DVarDVarP 函式會回傳 Null。

註解

領域 指的記錄少於兩筆,或符合 條件的紀錄少於兩筆, DVarDVarP 函式會回傳 Null,表示無法計算變異數。

無論你在巨集、模組、查詢表達式或計算控制中使用 DVarDVarP 函式,都必須謹慎構建 條件 參數參數,以確保其能被正確評估。

您可以使用 DVarDVarP 函數,在選取查詢的 [準則] 列、查詢的導出欄位運算式,或更新查詢的 [更新至] 列中指定準則。

注意

你可以在總數查詢中使用 DVarDVarP 函式,或 VarVarP 函式來計算欄位表達式。 如果您使用 DVarDVarP 函數,值會在資料分組之前進行計算。 如果您使用 VarVarP 函數,資料會在評估欄位運算式中的值之前進行分組。

當你需要指定條件限制函數所涵蓋的資料範圍時,可以在計算控制中使用 DVarDVarP 函數。 例如,若要顯示要出貨至加州之訂單的差異,請將文字輸入框的 ControlSource 屬性設定為下列運算式:

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

如果你只是想找出 領域內所有紀錄的標準差,可以使用 VarVarP 函數。

注意

使用這些函式時,未儲存的紀錄 變更不會被 包含在內。 如果想要 DVarDVarP 函數以變更的值為基礎,您必須先儲存變更,方法是按一下 [資料] 索引標籤的 [記錄] 底下的 [儲存記錄],將焦點移到另一筆記錄,或是使用 [更新] 方法。

查詢範例

運算式 結果
選擇 DVar (「單價」、「產品銷售」、「單價>140」) AS DVar_Value、DVarP (「單價」、「產品銷售」、「單價<140」) AS DVarP_Value 來自 productSales 群組 依 DVar (「單價」、「產品銷售」、「單價>140」) 、DVarP (「單價」、「產品銷售」、「單價<140」) ; 計算資料表 "ProductSales" 之 "UnitPrice" 的差異,其中 "unitprice" 大於 140,並在 DVar_Value 顯示結果。 同時計算 "UnitPrice" 的差異 (將給定資料視為整個母體),其中 "unitprice" 小於 140,並在 DVarP_Value 顯示結果。

VBA 範例

注意

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

下列範例會傳回母體差異的估計值,以及出貨至英國之訂單的母體樣本。 範圍是 [訂單] 資料表。 標準論點將所得紀錄限制為 ShipCountryRegion 等於英國的紀錄。

Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

下一個範例是透過在條件參數中使用變數 strCountryRegion,回傳估計值。 請注意,單引號 (') 包含在字串表達式中,因此當字串串接時,字串 UK 文字會被單引號包圍。

Dim strCountryRegion As String
Dim dblX As Double
strCountryRegion = "UK"
dblX = DVar("[Freight]", "Orders", _
    "[ShipCountryRegion] = '" & strCountryRegion & "'")