プロが教える店舗&オフィスのセキュリティ対策術

Dlookup関数を使えば、クエリの抽出条件に他のテーブルや、クエリの結果を使うことがわかりました。
しかし抽出条件が抽出するデータの種類(品種)により複数有る場合、その種類ごとにDlookup関数で指定しなければなりません。
そこで関数のDLookup(expr, domain [, criteria] ) 引数 criteriaを工夫する事で複数の条件をひとつの関数で出来ないものでしょうか。


品種tbl

品種 | 範囲(以下)
A | 100
B | 150

<抽出条件欄>
Dlookup("範囲","品種tbl",[品種tbl]="A")
Dlookup("範囲","品種tbl",[品種tbl]="B")
個の二つをひとつで出来ないものでしょうか。

またよく以下のような表記を見ますが、「& Me.車番入力欄 &」はどう解釈したらいいのでしょうか。
DLookup("[全長]","車種","[車番] = '" & Me.車番入力欄 & "'")

A 回答 (2件)

>そこで関数のDLookup(expr, domain [, criteria] ) 引数 criteriaを工夫する事で複数の条件をひとつの関数で出来ないものでしょうか。


できないんじゃないかな?
Dlookup("範囲","品種tbl",[品種tbl]="A") or Dlookup("範囲","品種tbl",[品種tbl]="B")
で動くかもしれないけど。

>「& Me.車番入力欄 &」
コードが書かれているフォームの、「車番入力欄」というコントロール(テキストボックスかな)の値をとってきて文字列としてDlookupの車番を検索する値として使っています。

個人的にはDlookupをsql内で使わない。(DLookUp自体使わない) 品種をコンボなり何なりで特定させたじてんで、その値をどこかに格納し、それをSQLなりクエリの値として利用するほうが早くてスマートなんじゃないかな。
    • good
    • 0

嫌がらずに最後まで読んでね。


DLookup 関数を使用するには (応用編)
http://support.microsoft.com/kb/881378/ja

Dlookup("範囲","品種tbl","[品種]="'A' or [品種]='B'")

>Me.車番入力欄
はフォーム中で自身の[車番入力欄] を指し示す場合に使用します。
ヘルプにも載っているかと思いますが
http://www.accessclub.jp/bbs3/0031/superbeg12789 …
のDodonpaさんの説明をどうぞ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
実はこの応用編のところは一読しました。よくわからないためNorthwind.mdb ファイルを古いパソコンで見ようとしているところです。
もう一度じっくり取り掛かってみます。

お礼日時:2012/07/17 16:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています