Microsoft Access 掲示板

BuildCriteria関数について / 4

7 コメント
views
4 フォロー
4
cerophan 2020/10/31 (土) 22:39:19 0029a@1c915 >> 2

早速試し、上記の件についてはうまく行くことを確認いたしました!感謝です。

しかし、当初の他の条件と重ね合わせる部分がうまくいきませんでした。
以下コードで確認してみると

Debug.Print Mid(strFilter, Len(" AND ") + 1)

顧客ID = 123 AND 担当ID = 23 AND 伝票NO="001" Or 伝票NO="002" Or 伝票NO="003"

とイミディエイトウィンドウに表示され、伝票NOの3つしか表示されません。

顧客と担当で絞ったときはうまく表示されます。
度々申し訳ございませんが、ご教示宜しくお願いいたします。

通報 ...
  • 6
    顧客ID = 123 AND 担当ID = 23 AND 伝票NO="001" Or 伝票NO="002" Or 伝票NO="003"
    

    ANDとORではANDの方が優先順位が高いので上の式だと下記のように評価されます。

    (顧客ID = 123 AND 担当ID = 23 AND 伝票NO="001") Or 伝票NO="002" Or 伝票NO="003"
    

    演算子の優先順位 | Microsoft Docs

    伝票NO の OR を先に評価させたい場合は()で囲むようにします。

    顧客ID = 123 AND 担当ID = 23 AND (伝票NO="001" Or 伝票NO="002" Or 伝票NO="003")
    
  • 7
    cerophan 2020/11/01 (日) 10:03:59 f1ed8@f7cb8 >> 4

    ありがとうございます!式を修正し、うまく動くようになりました。