今クエリに以下の項目を追加しました。
回数表示: 重版数表示用: IIf(([重版数] Is Null) Or ([重版数]=0),"",[重版数] & "回")
数字項目がNULLか0の時は空白で、数字項目に数字が入っていれば「回」という文字をつけて表示しようとしています。
Or [数字項目]=0 の部分を付け加える前はうまく動いたのですが、
これを追加したら、クエリはビューを押してもビュー画面に移行せずに
何も起こらない上、フィールド項目を修正しようとズームを押しても
現在このアクションを実行できません。ポップアップが出てきます。
これはIIf分にはOR条件を付け加えられないのでバグが出てしまってるのでしょうか?
回避する方法があればご教示お願いします。
比較演算子は「片方がNullならNullを返す」ので、
下記のようにするのがシンプルで判りやすいでしょう
IIf( [重版数] > 0 ,[重版数] & "回" ,"" )
回答No.2のようにNz関数を使うのも非常に良い手ですし、データベース使いならよくやります
なぜなら、「Null(値が不定)という状況は、データの管理をややこしくするため、
Nullという状況を無くしてから処理しよう」という至極まっとうな思考であり手段だからです
ただし、データが増えてくるとNZ関数が動く分だけ処理時間がかかることになりますので、
ケースバイケースといったところです
回答No.1のようにしてもかまいませんが・・・・・・あまり賢くないです
よく言えば、現状にあまり手を加えない手とも言えなくもありませんが、
長い目でみると誰のためにもなりませんので、あまり賢くないのです
(質問者だけでなく、後から同様の疑問でこの質問にたどり着いた人も含みます)
Or [重版数]=0 の間違いです。
よろしくおねがいします。
別に NULLとかじゃなくても or条件にしたいときは いろいろなパターンで使用できる賢いやり方です。
もちろん やり方は いろいろありますが、いろんなやり方を 知っておくことが 一番よいことで 今後のためにも なります。