DFirst メソッド (Access)Application.DFirst method (Access)

DFirst関数を使用すると、テーブルまたはクエリの特定のフィールドから任意の値を取得する必要がある場合に、そのフィールドから任意のレコードを取得できます。You can use the DFirst function to return a random record from a particular field in a table or query when you need any value from that field.


DFirst(ExprDomainCriteria)expression.DFirst (Expr, Domain, Criteria)

expression**Application** オブジェクトを 表す変数。expression A variable that represents an Application object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
ExprExpr 必須Required StringString 最初と最後の値を取得するフィールドを示す式です。An expression that identifies the field from which you want to find the first or last value. テーブルまたはクエリ内のフィールドを示す文字列式、または対象フィールド内のデータに対して計算を実行する式を指定できます。It can be either a string expression identifying a field in a table or query, or an expression that performs a calculation on data in that field. expr では、テーブルのフィールド、フォームのコントロール、定数、または関数の名前を指定できます。In expr, you can include the name of a field in a table, a control on a form, a constant, or a function. _Expr_に関数を指定する場合は、組み込み関数またはユーザー定義関数のどちらも指定できますが、他の定義域集計関数または SQL 集計関数は使用できません。If expr includes a function, it can be either built-in or user-defined, but not another domain aggregate or SQL aggregate function.
ドメインDomain 必須Required StringString 定義域を構成するレコードを指定する文字列式です。テーブル名またはクエリ名が指定できます。A string expression identifying the set of records that constitutes the domain.
CriteriaCriteria 省略可能Optional VariantVariant DFirst 関数の対象となるデータの範囲を指定する省略可能な文字列式です。An optional string expression used to restrict the range of data on which the DFirst function is performed. たとえば、 criteria は多くの場合、SQL 式の WHERE 句と同じ役割を果たします (ただし WHERE という語は使用しません)。For example, criteria is often equivalent to the WHERE clause in an SQL expression, without the wrd WHERE. 引数 criteria を省略すると、 DFirst 関数は定義域全体に対して expr を適用します。If criteria is omitted, the DFirst function evaluates expr against the entire domain. _抽出条件_に含まれているフィールドは、_ドメイン_のフィールドでもある必要があります。それ以外の場合、 DFirst関数はNullを返します。Any field that is included in criteria must also be a field in domain; otherwise, the DFirst function returns a Null.

戻り値Return value




レコードのセット (定義域) の先頭レコードまたは最終レコードを取得する必要がある場合は、昇順または降順に並べ替えるクエリを作成し、"TopValues/トップ値" プロパティを 1 に設定します。If you want to return the first or last record in a set of records (a domain), you should create a query sorted as either ascending or descending and set the TopValues property to 1. また、Visual Basic から ADO オブジェクトの Recordset オブジェクトを作成し、MoveFirst メソッドまたは MoveLast メソッドを使って、レコードのセットの先頭レコードまたは最終レコードを取得することもできます。From Visual Basic, you can also create an ADO Recordset object and use the MoveFirst or MoveLast method to return the first or last record in a set of records.


次の例は、DFirst 関数でさまざまな種類の抽出条件を使用する方法を示しています。The following examples show how to use various types of criteria with the DFirst function.

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

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

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

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

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

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

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

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.