パソコンサポート Q & A

パソコン講習会で寄せられた質問を解説しております。

DLOOKUP関数

2012年11月02日 | VBA

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![受注]![得意先コード] & "'")


よろしかったら・・・応援クリック・・・お願いします。励みになります。


人気ブログランキングへ