次の方法で共有


Application.DMin メソッド (Access)

DMin 関数を使用して、指定したレコードセット (ドメイン) の最小値を決定します。

構文

DMin (Expr,Domain, Criteria)

expressionApplication オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Expr 必須 文字列型 (String) 最小値または最大値を取得するフィールドを識別する式です。 テーブルまたはクエリのフィールドを識別する文字列式、または そのフィールドのデータを使用して計算を実行する式を指定できます。 expr では、テーブルのフィールド、フォームのコントロール、定数、または関数の名前を指定できます。 expr に関数が含まれている場合は、組み込み関数またはユーザー定義関数を使用できますが、別のドメイン集計関数や SQL 集計関数は使用できません。
ドメイン 必須 文字列型 (String) 定義域を構成するレコードセットを識別する文字列式。 パラメーターを必要としないクエリには、テーブル名またはクエリ名が指定できます。
Criteria 省略可能 バリアント型 DMin 関数の対象となるデータの範囲を指定する省略可能な文字列式です。 たとえば、 criteria は多くの場合、SQL 式の WHERE 句と同じ役割を果たします (ただし WHERE という語は使用しません)。 引数 criteria を省略すると、DMin は定義域全体に対して expr を適用します。 条件に含まれるフィールドは、ドメイン内のフィールドである必要もあります。それ以外の場合、DMin 関数は Null を返します。

戻り値

バリアント型

注釈

たとえば、レポートの計算コントロールで DMin 関数を使用して、特定の顧客の最小注文金額を表示できます。 または、クエリ式で DMin 関数を使用して、割引が可能な最小割引を超えるすべての注文を表示することもできます。

DMin 関数は、criteria の範囲内の最小値を返します。 expr が数値データであるときは、DMin 関数は数値を返します。 expr が文字列データのときは、アルファベット順で先頭または末尾の文字列を返します。

DMin 関数は、expr で参照されるフィールドの Null 値を無視します。 ただし、 条件を満たすレコードがない場合、または ドメイン にレコードが含まれている場合、 DMin 関数は Null を返します。

DMin 関数を使用して、クエリの [抽出条件] 行、クエリの計算フィールド式、または更新クエリの [更新対象] 行で条件を指定します。

注:

集計クエリの計算フィールド式で DMin 関数または Min 関数を使用します。 DMin 関数を使用すると、データがグループ化される前に値が評価されます。 Min 関数を使用すると、フィールド式の値が評価される前にデータがグループ化されます。

domain のすべてのレコードの最小値または最大値を取得するだけの場合は、Min 関数または Max 関数を使用してください。

DMin 関数または DMax 関数を使って外部テーブルのフィールドから最小値または最大値を取得できますが、両方のテーブルの必要なフィールドが含まれるクエリを作成して、そのクエリを基にフォームまたはレポートを作成すると効率的です。

次の例では、愛知県に出荷された貨物の運送料の最大値と最小値を返します。 定義域は [Orders] テーブルです。 引数 criteria は、[ShipCountry] が UK のレコードのセットを抽出するよう指定されています。

Dim curX As Currency 
Dim curY As Currency 
 
curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'") 
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")

次の例では、条件式に 変数 dteOrderDateが含まれています。 文字列が連結されたときに、文字列式のシャープ記号 (#) で日付を囲みます。

Dim dteOrderDate As Date 
Dim curX As Currency 
 
dteOrderDate = #03/30/2000# 
curX = DMin("[Freight]", "Orders", _ 
    "[OrderDate] = #" & dteOrderDate & "#")

次の例は、DMin 関数でさまざまな種類の抽出条件を使用する方法を示しています。

    ' ***************************
    ' Typical Use
    ' Numerical values. Replace "number" with the number to use.
    variable = DMin("[FieldName]", "TableName", "[Criteria] = number")

    ' Strings.
    ' Numerical values. Replace "string" with the string to use.
    variable = DMin("[FieldName]", "TableName", "[Criteria]= 'string'")

    ' Dates. Replace "date" with the string to use.
    variable = DMin("[FieldName]", "TableName", "[Criteria]= #date#")
    ' ***************************

    ' ***************************
    ' Referring to a control on a form
    ' Numerical values
    variable = DMin("[FieldName]", "TableName", "[Criteria] = " & Forms!FormName!ControlName)

    ' Strings
    variable = DMin("[FieldName]", "TableName", "[Criteria] = '" & Forms!FormName!ControlName & "'")

    ' Dates
    variable = DMin("[FieldName]", "TableName", "[Criteria] = #" & Forms!FormName!ControlName & "#")
    ' ***************************

    ' ***************************
    ' Combinations
    ' Multiple types of criteria
    variable = DMin("[FieldName]", "TableName", "[Criteria1] = " & Forms![FormName]![Control1] _
             & " AND [Criteria2] = '" & Forms![FormName]![Control2] & "'" _
            & " AND [Criteria3] =#" & Forms![FormName]![Control3] & "#")
    
    ' Use two fields from a single record.
    variable = DMin("[LastName] & ', ' & [FirstName]", "tblPeople", "[PrimaryKey] = 7")
            
    ' Expressions
    variable = DMin("[Field1] + [Field2]", "tableName", "[PrimaryKey] = 7")
    
    ' Control Structures
    variable = DMin("IIf([LastName] Like 'Smith', 'True', 'False')", "tableName", "[PrimaryKey] = 7")
    ' ***************************

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。