人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: syo777
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●35ポイント

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


syo777さんのコメント
分けて連結というのはどういうことでしょうか? 出来ればソースをいただけると幸いです^^;

きゃづみぃさんのコメント
IIf([重版数] Is Null,"",[重版数] & "回") & IIf([重版数]=0,"",[重版数] & "回") ということです。

syo777さんのコメント
参考になりました! ありがとうございます!

2 ● oden72
●35ポイント

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


syo777さんのコメント
参考になりました! ありがとうございます!

3 ● うぃんど
●35ポイント ベストアンサー

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

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

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

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


syo777さんのコメント
参考になりました! ありがとうございます!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ