|
▼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句そのものなので。
|
|