引用:
IIF(Forms![F_000]![op_000]=0, [テーブル名].[商品CD] Not In ('123', '234', '345'), '*')
いま改めて上記で試したところ、Forms![F_000]![op_000]の値が何であっても0件になってしまいます。
上記を数式として、評価したとき
Forms![F_000]![op_000]=0 の とき → [テーブル名].[商品CD] Not In ('123', '234', '345')
それ以外のとき → '*'
となります。
抽出条件に、
[テーブル名].[商品CD] Not In ('123', '234', '345')
または
'*'
が入る事になります。
多分、[商品CD]の 抽出条件 に 数式を入れているのでしょうから、
それぞれを入れてクエリを実行してみましょう。
どっちでも レコードは抽出されないでしょう。
[商品CD]の 抽出条件に入れているという事は
[商品CD] = (抽出条件) です。
前者なら
[商品CD] = ([テーブル名].[商品CD] Not In ('123', '234', '345'))
[テーブル名].[商品CD] Not In ('123', '234', '345') が先に評価され True/Falseが返ります
つまり
[商品CD] = (True) または [商品CD] = (False) となり
抽出条件 に True または False を入れたのと一緒 であり、対象件数は 0件
後者なら、
[商品CD] = ('*') となり、これも 対象件数 0件
本来、抽出条件に入れたいのは、
前者なら、Not In ('123', '234', '345')
後者なら、Like "*"
でしょうかね。
その辺りを理解した上で数式を組み立てましょう。
抽出条件 に 数式を直接入力する前に
その数式を 演算フィールド と して 入力、 クエリを実行し、数式の結果を確認すると
理解しやすいです。