単二電池

access でクエリの値によって展開されるレポートを分岐させたい
こんにちは、コードがわからないので教えてください

表題ですが、

SELECT クエリA.発注コード, クエリA.製品コード, クエリA.数量, クエリA.購買先コード
FROM クエリA INNER JOIN 購買先マスタ ON クエリA.購買先コード = 購買先マスタ.購買先コード
WHERE (((クエリA.発注ID)=[Forms]![FORMA]![CONTROLA]))
ORDER BY クエリA.製品コード;

というクエリBがあるとします

抽出条件は発注IDですが、選ぶIDによって、購買先がA社であったりB社であったりします
購買先がA社(購買先コードは1)である場合はレポートA
B社(購買先コードは2)である場合ははレポートB
が展開されるようにしたいのですが

下記のコードを書くとエラーが出ます

If Query![クエリB]![購買先コード].Value = 1 Then
DoCmd.OpenReport "レポートA", acViewPreview
Else
DoCmd.OpenReport "レポートB", acViewPreview
End If
●レポートA,BとちらもレコードソースはクエリBです

としてデバッグをかけると、”対象はコレクションでなければなりません”
と言われます

ですが、構文がわかりません
簡単なことなのかもしれませんが
ご教示よろしくお願いいたします

質問者からの補足コメント

  • ありがとうございました
    出来ました 助かりました
    Vlookupは気づきませんでした
     また、わからない事が出ました 質問してますのでよろしければ見てやって下さい
    ※アプリでベストアンサ時にお礼書く方法がわからないのでこちらに書きました

      補足日時:2018/10/05 12:46

A 回答 (1件)

DLookupを使用する方が単純と思います。



If DLookup("購買先コード","クエリB")=1 then

で如何でしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます!
さっそくやってみます

お礼日時:2018/10/05 08:57

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