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