Access VBAの授業で 「DLookup 関数」の使用例について質問を受けました。
以下の例は、DLookup関数を使用して、テーブルやクエリの値を検索または取得する方法です。
●抽出条件を指定しない場合
この例では、抽出条件を一切指定しない最も単純な形式で DLookup 関数を使用する方法を示します。この例は、[顧客] テーブルにある最初のレコードの [顧客名] フィールドに含まれる値を返します。
=DLookup("[顧客名]", "顧客")
●数値抽出条件を指定する場合
顧客コードが 7 である顧客名を検索するには、次のように、使用するレコードの範囲を限定する抽出条件を指定します。
=DLookup("[顧客名]", "顧客", "[顧客員コード] = 7")
●フォーム上のフィールドによる数値抽出条件を指定する場合
先の例では式の中に特定の値を指定しましたが、抽出条件でパラメータを使用することもできます。次の例は、現在のフォーム上にある別のフィールドから抽出 条件を指定する方法を示したものです。
=DLookup("[顧客名]", "顧客", _
"[顧客コード] = Form![顧客コード]")
=DLookup("[顧客名]", "顧客", _
"[顧客コード] = " & [顧客コード])
=DLookup("[顧客名]", "顧客", _
"[顧客コード] = " & Forms![受注]![顧客コード])
上記 3 つの例は、同じ結果を返します。
また、以上の例はすべて、数値抽出条件と一緒に DLookup 関数を使用する方法を示したものです。
●テキスト抽出条件を指定する場合
抽出条件フィールドがテキストの場合は、次の例に示すように、単一引用符でテキストを囲みます。
=DLookup("[Title]", "社員", "[氏名] = '鈴木 一郎'")
単一引用符の使用を推奨しますが、単一引用符の代わりに二重引用符も使用できます。単一引用符 1 つを置き換えるには、2 つの二重引用符を使用します。次の例は二重引用符を使用したもので、上記の例と等価です。
=DLookup("[Title]", "社員", "[氏名] = ""鈴木 一郎""")
●フォーム上のフィールドによるテキスト抽出条件を指定する場合
次の例は、[受注] フォームの得意先に対応する得意先名を検索する方法を示したものです。"得意先コード" フィールドは抽出条件のテキスト キー フィールドであるため、ステートメントは次のようになります。
=DLookup("[得意先名]", "[得意先]", _
"[得意先コード]='" & [得意先コード] & "'")
または
=DLookup("[得意先名]", "[得意先]", _
"[得意先コード]='" & Forms![受注]![得意先コード] & "'")
よろしかったら・・・応援クリック・・・お願いします。励みになります。