• 締切済み

Accessのクエリーのゼロデータ行の非表示の仕方

Accessのクエリーのゼロデータの行の非表示の仕方を教えてください。 数値をレコードとする20列がこのクエリーにあるとします。この全て20列の数値レコードがゼロの行はクエリーの結果から外して非表示にしたいのです。 それを達成するために、21列目にABS関数を用いて20列の数値全てを足し算して、抽出条件を>0としました。 どういうわけかこの抽出条件を入れてクエリーを実行すると、パラメタクエリーになってしまい、実行時にダイアログボックスがでてきて何か入力を求められます。 なぜこうなってしまうのかご教示お願いします。 また、一般的に使われているゼロ行非表示の仕方があればそれも教えてください。上のやり方は自分で勝手に考え出したものなので。 よろしくお願いいたします。

みんなの回答

  • 6657
  • ベストアンサー率63% (7/11)
回答No.3

このクエリーのテーブルのフィールドの既定値が、0になっているため数字が入っていないところが全て0で表示されているのではないでしょうか?。既定値0を消すと新しいレコードは0は入らなくなります。今あるレコードは更新クエリーで0は全て""に更新してはいかがでしょうか。想像で書いています。

  • 6657
  • ベストアンサー率63% (7/11)
回答No.2

0だけ表示させない方法はIIF関数で可能ですが、0以外も数値ではなく文字列として表示されます。表示だけで良いのであればこれでOKです。新しいフィールド名: IIf([フィールド名]=0,"",[フィールド名])、で0は表示されなくなります。20のフィールド全てやればですが。

noname#110201
noname#110201
回答No.1

良くありがちな原因は、20ケあるという項目の名前のどれかを間違えていること。あるいは関数の名前を間違えてるかもしれません。 ダイアログボックスにどんな名前のパラメータか書いてありませんか? ゼロの行を抽出しないもうひとつの方法として、抽出条件の行に <>0 と列ごとに書いても良いと思います。

sdguy1973
質問者

補足

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

関連するQ&A

  • ACCESS クエリの抽出条件

    毎度お世話になります。 クエリをレコードソースとするフォームから、コマンドボタンでアクションクエリを実行するときの抽出条件の書き方を教えて頂けないでしょうか? 二つのテーブル(別のACCESSファイルからリンク)を基にパラメータクエリを作っています。 そのクエリを基にフォームを作っています。 さらに、そのフォームに追加クエリを実行するボタンを置いています。 フォームに表示してあるレコードだけ(パラメータで抽出されたレコードだけ)、他のテーブルに追加しようと思っているのですが、実行ボタンを押すともう一度パラメータが出てきてしまいます。 多分テキストボックスの値を読み取る際にレコードソースがテーブルでないのが問題じゃないかと思うのですが。。。 テーブル:Container / Items クエリ:From_Con(パラメータは[Container]フィールド) フォーム:From_Con(テキストボックス名は[txtContainer]) 追加クエリ:From_Con_App(抽出条件は[Forms]![From_Con]![txtContainer]としてみたがうまく動きません。) デザインビューの抽出条件を使う方法? SQLを使う方法? QueryDefを使う方法? いろいろありそうですが、ネットで検索してもヒットしません。 分かりにくい説明で申し訳ありませんがご教授願います。

  • ACCESSクエリーの抽出条件について

    OS WIN7 ACCESS 2007使用です。 クエリーの抽出条件について何ですが、テーブルにコードというフィールドがありまして、そこには数値が入力されています。 コード 1 2 3 4 5 ・ ・ このテーブルを元に選択クエリーを作りたいのですが、条件としてコードの値に2と3両方がある場合、2のレコードだけを表示せず、どちらか一方の数値だけの場合またはどちらもない場合は、全てのレコードを表示するようにしたいのです。 抽出条件はどのように書けばよいのでしょうか? いろいろ試したのですが、うまくいきません。 どなたかお助け下さい。

  • Access 選択クエリ 演算 抽出できない

    クエリで抽出がかけられなくて困っています。 売上: [単価]*[個数]の列フィールドで1以上を抽出かけたいのですが(0値になるものがあるので)、抽出条件に“>0”と入れてもパラメータクエリが出てしまって駄目です。 要するに、レポート時に、売上が0値またはnull値のレコードは抽出をかけたくないようにしたいのです。 どなたか教えてください。 バージョンは2003です。

  • Accessのクエリについて

    お世話になります。 テーブル内の[出荷日]というフィールドに対して、 「出荷日1ヶ月前のレコード」を抽出しようと考えてます。 クエリ実行時に「日付」をパラメータ入力して、 その日付より1ヶ月前の出荷日のデータを出したいのです。 フィールドに対する抽出条件として、 <=[日付]-30 という条件を指定して実行したのですが、うまく いきませんでした。 どのように設定すればよいでしょうか? ご教授よろしくお願いします。

  • Accessの削除クエリで「クエリが複雑すぎて実行できません」

    困っています。どなたかご存知の方がいらっしゃいましたらお願いしますm_ _m (1)Aクエリ(選択クエリ)とBテーブルを削除クエリでつなぐ(結合プロパティはAクエリ全件から→B) (2) (1)の削除クエリは、 B全件から(From B*) Bのフィールド40列ぐらい(数値列)を落とし、 (Where 条件「0」←数値ゼロをいれる) (3)削除クエリを実行すると、「複雑すぎて実行できません。」というエラーメッセージがでてきて実行できません。何か駄目なのでしょうか? やりたいことは、 Bテーブルを、 Aクエリにあるレコードは抽出し、のちフィールドの値が0のものは削除したいのです。 よろしくお願いします。

  • Accessのクエリのパラメーター

    毎回ここでお世話になっております。 2つ質問がありまして一つは・・・ パラメーターで複数のレコードを指定できるのかということです。 例えば、オートナンバー型にパラメーターを設定していて、1番と3番のレコードだけを表示する(2番のレコードは除く)方法はあるでしょうか? もう一つは・・・ パラメーターでワイルドカードは使えますか? 使えない場合、クエリでわざわざ条件抽出する以外で、ワイルドカードを適応させる方法をお教えください。 以上2つの質問お願いします。

  • ACCESSでクエリがうまく使えません。

    ACCESS2003初心者です。 製品区分というルックアップがあります。 ルックアップの列数は2、連結列は2になっています。 1列目 | 2列目 薬剤A | 1 薬剤B | 2 ・ ・ ・ 薬剤S | 19 まであります。 このデータの11までをクエリで抽出したいのですが、 クエリの製品区分の抽出条件に <="11" と入力して実行しても上手く処理してくれません。 1と10と11だけに該当して表示されます。 >="1" And <="11" としても同じ結果でした。 ※仮に、抽出条件に"8"と入力して実行すると 問題なく、8に該当するデータが表示されます。 他の数字も同じように抽出されます。 11以下に該当するデータだけを抽出したいのですが、 どこが悪いのでしょうか? そもそも、ルックアップの2列目を抽出するような方法は良くないのでしょうか?

  • アクセス クエリー 抽出条件について

    アクセス クエリー 抽出条件について たとえば文字列で5桁の仕入先コードフィールドが有るとします。で1と3と5を除くレコードを表示させたいときは 抽出条件をどの様に設定したらよろしいでしょうか?

  • アクセス クエリ

    アクセス クエリの抽出について教えて下さい。例えば、1つのクエリの中に数値のフィールドが5つ作成してあり、それぞれ違うフィールドの抽出条件をしています。それぞれの条件を入れてしまうと5つのフィールド条件全てに合ったものしか抽出できません。 5つのフィールドのうち、どれでも1つ一致したら抽出できるようにしたいのですが良い方法を教えて下さい。宜しくお願いします。

  • accessクエリの抽出条件

    access初心者です。 フィールド:「年」 数値型 フィールド:「月」 数値型 があり クエリの抽出条件に 年:2001 月:11 でクエリが実行できます。 これを当月分をクエリ実行できるように 年:year(date()) 月:month(date()) のように入れて当月のレコードを抽出したいのですが 「式に未定義関数dateがあります」というメッセージが出ます。どこが間違っているか助言をいただけると助かります。

専門家に質問してみよう