性格いい人が優勝

「会社テーブル」
**企業コード
**商品コード
*会社名

「商品テーブル」
**商品コード
**担当者コード
*商品名

「住所テーブル」
**担当者コード
*担当者名
*住所

仮に上記のようなテーブルがあり、下記がその条件式です

=DLookUp("担当者名","住所テーブル","[担当者コード] = " & [テキスト入力欄])

フォーム上の[テキスト入録欄]に 「**担当者コード」 の値を入力し、 担当者名 や 住所 を任意のテキスト枠に返します。
その方法で[会社テーブル]の会社名を返す場合はどのようにしたらいいのでしょうか

上記のテーブルの通り、会社名には 担当者コード が存在しておりません
企業コードや会社コードを入力するという方法は二度手間になるためやりたくありません

フォームを作成して3つのテーブルを繫ぎ、下記の式で抽出しようと試みましたができません
=DLookUp("会社名","フォーム","[担当者コード] = " & [テキスト入力欄])

どなたか方法を教えてください

A 回答 (1件)

仮のテーブル構成をみる限り、


・入力があったものを使って、「商品テーブル」から商品コードを求め
・その商品コードを使って、「会社テーブル」を見るしかないと思います。

フィールドの記述の中で、
「**」は数値、「*」はテキスト、の違いになっていると仮定すると、

DLookUp("商品コード","商品テーブル","[担当者コード] = " & [テキスト入力欄])

で商品コードを求め、なかった時には Null になるので、Nz を使って 0 に
Nz(上記のもの,0) ・・・・ ※1

※※ 商品コード = 0 のものが存在するのなら、存在しない値になるように
(※1部分は考えてください)

※1を使って
=DLookUp("会社名","会社テーブル","[商品コード] = " & ※1)
    • good
    • 0
この回答へのお礼

ご教示ありがとうございます
やはり難しいですか

最終結論を申しますと、30246kikuさんの意見を参考に商品コードの値を返す新枠を別途設けました。
そして、その新枠の値を参照して会社名を導くやり方で問題解決いたしました。

また、何かございましたら宜しくお願いいたします。m(__)m

お礼日時:2013/05/21 18:11

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