Application.DVar メソッド (Access)
指定されたレコードのセット (定義域) に含まれる標本全体の分散を概算します。
構文
式。DVar (Expr、 Domain、 Criteria)
expressionApplication オブジェクトを 表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Expr | 必須 | String | 分散を計算する対象となる数値型フィールドを表す式です。 テーブルまたはクエリのフィールドを表す文字列式、またはそのフィールドの値を使用して計算を行う式を指定します。 expr には、テーブルのフィールド名、フォームのコントロール、定数、または関数を指定できます。 expr に関数を指定する場合は、組み込み関数またはユーザー定義関数のどちらも使用できますが、他の定義域集計関数や SQL 集計関数は使用できません。 expr に含まれるフィールドは、数値型フィールドである必要があります。 |
ドメイン | 必須 | 文字列型 (String) | 定義域を構成するレコードセットを識別する文字列式。 パラメーターを必要としないクエリには、テーブル名またはクエリ名が指定できます。 |
Criteria | 省略可能 | バリアント型 | DVar 関数を実行するデータ範囲を制限するために使用される省略可能な文字列式。 たとえば、 criteria は多くの場合、SQL 式の WHERE 句と同じ役割を果たします (ただし WHERE という語は使用しません)。 条件を省略すると、DVar 関数はドメイン全体に対して expr を評価します。 条件に含まれるフィールドは、ドメイン内のフィールドである必要もあります。それ以外の場合、DVar 関数は Null を返します。 |
戻り値
バリアント型
注釈
たとえば、モジュールで DVar 関数を使って、学生の試験点数の分散を計算できます。
ドメインが 2 つ未満のレコードを参照している場合、または条件を満たすレコードが 2 つ未満の場合、DVar 関数は Null を返し、分散を計算できないことを示します。
マクロ、モジュール、クエリ式、または計算コントロールで DVar 関数を使用する場合でも、引数 criteria を慎重に構築して、正しく評価されるようにする必要があります。
DVar 関数を使用して、選択クエリの [抽出条件] 行、クエリの計算フィールド式、または更新クエリの [更新対象] 行で条件を指定します。
注:
集計クエリの計算フィールド式で DVar 関数または Var 関数を使用します。 DVar 関数を使用すると、データがグループ化される前に値が計算されます。 Var 関数を使用すると、フィールド式の値が評価される前にデータがグループ化されます。
データ範囲を制限して criteria を指定する必要があるような場合は、演算コントロールで DVar 関数を使います。 たとえば、カリフォルニア州に出荷される注文の差異を表示するには、テキスト ボックスの ControlSource プロパティを次の式に設定します。
=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")
単純に domain のすべてのレコードの分散を表示する場合は、Var または VarP 関数を使用します。
例
次の例では、母集団の分散の概算値と、英国に出荷される注文の母集団のサンプルを返します。 定義域は [Orders] テーブルです。 引数 criteria は、[ShipCountry] が UK のレコードのセットを抽出するよう指定されています。
Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", "[ShipCountry] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", "[ShipCountry] = 'UK'")
次の例では、criteria 引数で 変数strCountry
を使用して推定値を返します。 文字列式には単一引用符 (') が含まれているため、文字列を連結すると、文字列リテラル UK
は単一引用符で囲まれます。
Dim strCountry As String|
Dim dblX As Double
strCountry = "UK"
dblX = DVar("[Freight]", "Orders", "[ShipCountry] = '" _
& strCountry & "'")
次の例は、DVar 関数でさまざまな種類の抽出条件を使用する方法を示しています。
' ***************************
' Typical Use
' Numerical values. Replace "number" with the number to use.
variable = DVar("[FieldName]", "TableName", "[Criteria] = number")
' Strings.
' Numerical values. Replace "string" with the string to use.
variable = DVar("[FieldName]", "TableName", "[Criteria]= 'string'")
' Dates. Replace "date" with the string to use.
variable = DVar("[FieldName]", "TableName", "[Criteria]= #date#")
' ***************************
' ***************************
' Referring to a control on a form
' Numerical values
variable = DVar("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)
' Strings
variable = DVar("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")
' Dates
variable = DVar("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
' ***************************
' ***************************
' Combinations
' Multiple types of criteria
variable = DVar("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
& " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
& " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
' Use two fields from a single record.
variable = DVar("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
' Expressions
variable = DVar("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
' Control Structures
variable = DVar("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
' ***************************
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。