access2000を使用しています。

今クエリに以下の項目を追加しました。
回数表示: 重版数表示用: IIf(([重版数] Is Null) Or ([重版数]=0),"",[重版数] & "回")
数字項目がNULLか0の時は空白で、数字項目に数字が入っていれば「回」という文字をつけて表示しようとしています。
Or [数字項目]=0 の部分を付け加える前はうまく動いたのですが、
これを追加したら、クエリはビューを押してもビュー画面に移行せずに
何も起こらない上、フィールド項目を修正しようとズームを押しても
現在このアクションを実行できません。ポップアップが出てきます。
これはIIf分にはOR条件を付け加えられないのでバグが出てしまってるのでしょうか?
回避する方法があればご教示お願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/03/16 09:57:19
  • 終了:2012/03/19 09:09:54

ベストアンサー

id:windofjuly No.3

うぃんど回答回数2625ベストアンサー獲得回数11492012/03/17 07:59:38

ポイント35pt

比較演算子は「片方がNullならNullを返す」ので、
下記のようにするのがシンプルで判りやすいでしょう

IIf( [重版数] > 0 ,[重版数] & "回" ,"" )

回答No.2のようにNz関数を使うのも非常に良い手ですし、データベース使いならよくやります
なぜなら、「Null(値が不定)という状況は、データの管理をややこしくするため、
Nullという状況を無くしてから処理しよう」という至極まっとうな思考であり手段だからです
ただし、データが増えてくるとNZ関数が動く分だけ処理時間がかかることになりますので、
ケースバイケースといったところです

回答No.1のようにしてもかまいませんが・・・・・・あまり賢くないです
よく言えば、現状にあまり手を加えない手とも言えなくもありませんが、
長い目でみると誰のためにもなりませんので、あまり賢くないのです
(質問者だけでなく、後から同様の疑問でこの質問にたどり着いた人も含みます)

id:syo777

参考になりました!
ありがとうございます!

2012/03/19 09:08:27

その他の回答(2件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982012/03/16 12:53:23

ポイント35pt

nullと0のiifを 分けて連結してあげればいいでしょう。

他1件のコメントを見る
id:taknt

IIf([重版数] Is Null,"",[重版数] & "回") & IIf([重版数]=0,"",[重版数] & "回")

ということです。

2012/03/16 23:28:13
id:syo777

参考になりました!
ありがとうございます!

2012/03/19 09:07:57
id:jaga10 No.2

oden72回答回数1ベストアンサー獲得回数02012/03/16 15:24:57

ポイント35pt

IIf((Nz([重版数])=0),"",[重版数] & "回")

id:syo777

参考になりました!
ありがとうございます!

2012/03/19 09:08:05
id:windofjuly No.3

うぃんど回答回数2625ベストアンサー獲得回数11492012/03/17 07:59:38ここでベストアンサー

ポイント35pt

比較演算子は「片方がNullならNullを返す」ので、
下記のようにするのがシンプルで判りやすいでしょう

IIf( [重版数] > 0 ,[重版数] & "回" ,"" )

回答No.2のようにNz関数を使うのも非常に良い手ですし、データベース使いならよくやります
なぜなら、「Null(値が不定)という状況は、データの管理をややこしくするため、
Nullという状況を無くしてから処理しよう」という至極まっとうな思考であり手段だからです
ただし、データが増えてくるとNZ関数が動く分だけ処理時間がかかることになりますので、
ケースバイケースといったところです

回答No.1のようにしてもかまいませんが・・・・・・あまり賢くないです
よく言えば、現状にあまり手を加えない手とも言えなくもありませんが、
長い目でみると誰のためにもなりませんので、あまり賢くないのです
(質問者だけでなく、後から同様の疑問でこの質問にたどり着いた人も含みます)

id:syo777

参考になりました!
ありがとうございます!

2012/03/19 09:08:27
  • id:syo777
    4行目がOr [数字項目]=0 となっておりますが
    Or [重版数]=0 の間違いです。
    よろしくおねがいします。
  • id:taknt
    私の提示したやり方は 応用がきく非常に便利なやり方です。

    別に NULLとかじゃなくても or条件にしたいときは いろいろなパターンで使用できる賢いやり方です。

    もちろん やり方は いろいろありますが、いろんなやり方を 知っておくことが 一番よいことで 今後のためにも なります。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません