dポイントプレゼントキャンペーン実施中!

Accessのクロス集計クエリの実行結果がNullの欄に
0(ゼロ)が入るようにしたいのですが、どうすればよいでしょうか?
よろしくお願いします。

A 回答 (3件)

こんにちわ



再回答です

[1]: IIf(IsNull([1]),0,[1])
ですが
もしも項目[1] 
(クロス集計クエリーで値が1の時での集計値項目)
がヌルなら 0 を
ヌルでなければそのまま項目[1]を移す
という意味です(ご存知かもしれませんが念のため)



最質問の件ですが
別途「更新クエリー」を作成して
is null なら 0 にするという更新クエリーを
つくることによっても 0にすることができます

しかし更新クエリーはテーブルに対してしか
効果がありません
クロス集計の結果はクエリーですから
それ自体に対しては直接に更新クエリーが
作れないはずです

したがって、集計クエリーをインプットにして
アウトプツト側へテーブルを指定することで
(2ツ目のクエリー、すなわちテーブル作成クエリー)
集計の結果をクエリーでなくてテーブルとして
保存できるので、そのテーブルに対して
更新クエリーを働かせることになります

必要なクエリーとしては3ツです
・クロス集計クエリー(貴君の作成したもの)
・テーブル作成クエリー
・更新クエリー

それぞれのクエリー(種類)の指定は
フエリー作成のところの
「クエリー」のところで種別指定ができます
(デフォルトは選択クエリー)
    • good
    • 0

TRANSFORM IIf(IsNull([ID]),0,Count([ID])) AS IDのカウント


SELECT テーブル1.フィールド1
FROM テーブル1
GROUP BY テーブル1.ID, テーブル1.フィールド1
PIVOT テーブル1.フィールド2;

私が適当に作ったテーブルのクロス集計クエリです。この方法でいいのでは
ないでしょうか、実際のテーブルにあったフィールド名にする必要がありま
すが...
    • good
    • 1

こんにちわ


いろんな意味で完全ではないのですが
一例としてクロス集計クエリをつくり
その結果
列方向に
[1] [2] [3] ........
という項目名ができたとします

のクエリーの次に新作の選択クエリーをつくり
フイールドのところを

[1]: IIf(IsNull([1]),0,[1])

というようにすれば
0が入ります

別の方法としてはクロス集計クエリの結果を
テーブルとすれば
次の段階で「更新クエリー」を作成して
nullを0にできます
    • good
    • 0
この回答へのお礼

oka123さん、回答ありがとうございました。
お礼が大変遅くなりまして、誠に申し訳ありません。

初心者のため、なかなか理解できなくて苦労しております。
ひとつお聞きしたいのですが、
「クロス集計クエリの結果をテーブルにする」とは、どのようにするのでしょうか。

よろしくお願いします。

お礼日時:2002/10/22 17:36

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