Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


255 / 9994 ←次へ | 前へ→

【13053】Re:Dlookupの書き方について
回答  亀マスター  - 16/7/19(火) 19:39 -

引用なし
パスワード
   ▼morimu さん:

>B1, B2, B3, B4:Dlookup("A4","A","[A1]=[B1]")

通常、このような作業をする時はDLookupを使うのではなく、クエリの機能を使うものです。クエリのデザインビューでテーブルAのフィールドA1をドラッグアンドドロップでテーブルBのB1に移動させるように操作します。

どうしてもDLookupを使いたいのなら、おっしゃるとおり書き方に問題があるので、修正が必要です。
"[A1]=[B1]"
では、テーブルAの中でA1フィールドとB1フィールドが同じ値のものを抽出することになりますが、テーブルAの中にB1フィールドが存在しないのでエラーになるのです。もしあったとしても、条件を満たす何らかの値が1種類だけ表示されることになり、目的は達成できませんが。
正しくは、
"[A1]=" & [B1]
としてやることです。ここでの[B1]はテーブルBにおけるB1フィールドのそれぞれの値を示しているので、テーブルB1のそれぞれの行に対して[B1]の値を取得して、それとテーブルAのA1フィールドの値が一致するものをDLookupで得ることが出来ます。

細かい使い方を知りたいなら、Accessの入門サイトなどでSQLのWHERE句の使い方を勉強してみてください。DLookupの第3引数は、WHERE句そのものなので。

309 hits

【13052】Dlookupの書き方について morimu 16/7/18(月) 19:40 質問[未読]
【13053】Re:Dlookupの書き方について 亀マスター 16/7/19(火) 19:39 回答[未読]
【13054】Re:Dlookupの書き方について morimu 16/7/23(土) 16:52 お礼[未読]

255 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free