プロが教えるわが家の防犯対策術!

Accessのクエリーのゼロデータの行の非表示の仕方を教えてください。

数値をレコードとする20列がこのクエリーにあるとします。この全て20列の数値レコードがゼロの行はクエリーの結果から外して非表示にしたいのです。
それを達成するために、21列目にABS関数を用いて20列の数値全てを足し算して、抽出条件を>0としました。
どういうわけかこの抽出条件を入れてクエリーを実行すると、パラメタクエリーになってしまい、実行時にダイアログボックスがでてきて何か入力を求められます。
なぜこうなってしまうのかご教示お願いします。

また、一般的に使われているゼロ行非表示の仕方があればそれも教えてください。上のやり方は自分で勝手に考え出したものなので。

よろしくお願いいたします。

A 回答 (3件)

このクエリーのテーブルのフィールドの既定値が、0になっているため数字が入っていないところが全て0で表示されているのではないでしょうか?。

既定値0を消すと新しいレコードは0は入らなくなります。今あるレコードは更新クエリーで0は全て""に更新してはいかがでしょうか。想像で書いています。
    • good
    • 1

0だけ表示させない方法はIIF関数で可能ですが、0以外も数値ではなく文字列として表示されます。

表示だけで良いのであればこれでOKです。新しいフィールド名: IIf([フィールド名]=0,"",[フィールド名])、で0は表示されなくなります。20のフィールド全てやればですが。
    • good
    • 0

良くありがちな原因は、20ケあるという項目の名前のどれかを間違えていること。

あるいは関数の名前を間違えてるかもしれません。
ダイアログボックスにどんな名前のパラメータか書いてありませんか?

ゼロの行を抽出しないもうひとつの方法として、抽出条件の行に <>0 と列ごとに書いても良いと思います。

この回答への補足

早速の回答ありがとうございました。
仰るとおり間違いの可能性もあると思い、一列だけを=ABS(xxx)で取ってきてテストしましたが、同じ結果でした。。。。

補足日時:2008/12/10 15:00
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A