Accessのクロス集計で値がない場合の対処法

このQ&Aのポイント
  • Accessのクロス集計を行い、値がない場合の対処法について教えてください。
  • テーブル1に種類1という項目があり、そこにはA・B・C・Dのデータが入るはずですが、時々一つくらいデータが入らないことがあります。その場合にクロス集計を行う際にエラーが発生します。空欄を入れる手法はありますか?
  • VBAを使用して、テーブル1に入力されたデータを元にクロス集計を行っています。しかし、種類1のデータが一部存在しない場合にエラーが発生してしまいます。このような場合、空欄を入れる方法はありますか?
回答を見る
  • ベストアンサー

Accessのクロス集計→テーブル作成で値がない場合の対処法

すいません、先ほど同じような質問をしたんですが、わかりづらいと思うので再度質問させてください。 テーブル1に大もとのデータが入っています。 フォームに入力をして(たとえば年度など)検索を行います。 その結果を元に、テーブルにデータを入れます。 さらにそのテーブルからクロス集計をして、最終結果を得ています。 (すべてVBAにて実行) たとえばテーブル1に種類1という項目があって、そこには普段A・B・C・Dというデータが入るはずですが、 時々一つくらい無い場合があります。(A・B・Dなど) その場合に、クロス集計を行ってそのデータをテーブルに入れる際に、フィールドが足りないというエラーが出てしまいます。 そういう場合に、空欄を入れるということはできるのでしょうか? お願いします!!(><)

  • w-inty
  • お礼率72% (1169/1618)

質問者が選んだベストアンサー

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

クエリ列見出しプロパティに、 "A","B","C","D" のように入れれば、大丈夫だと思いますよ。

w-inty
質問者

お礼

回答ありがとうございます。 無事できました!

その他の回答 (1)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> 時々一つくらい無い場合があります。(A・B・Dなど) クロス集計クエリのプロパティに、「クエリ列見出し」というのが あります。 それを使えば、値がない場合でも、フィールドが作られますよ。

w-inty
質問者

お礼

回答ありがとうございます!! クエリをデザインビューで開き、プロパティを見るとありました!「クエリ列見出し」!…これはいったいどのように使えばいいのでしょうか?! スイマセン再度教えてください!!

w-inty
質問者

補足

適当に「あ」とか入力すると「あ」というフィールドが作成されました(^^; 現在は おおもとテーブル 年度 種類 … 2004 A 2003 B 2004 C 2002 D 2004 D 2003 B 2002 C 2004 A となっていたとします。 クロス集計の状態は グループID | グループ | データ種類のカウント | A | C | D 130    | 赤グループ |     34      | 5  | 3 |26 140    | 青グループ |     2      |    |  | 2 のようになっています。 ここに現在2004年データとしてはない状態のBフィールドを作成したいんです。 よろしくお願いします。

関連するQ&A

  • Access2003 クロス集計で集計値を四捨五入

    ☆以下のようなテーブルで、フィールド[ID]~[点数]があり、文字および数字のデータが混在しています。   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== (テーブル(1)) [ID]  [クラス]  [科目]  [点数]     1     A     英語    11    2     B     英語    22    3     C     数学    33    4     A     国語    44   5     B     数学    55    6     C     国語    66    7     B     国語    77   8     C     英語    88     9     A     数学    99     =========================================== ☆上記のテーブルをクロス集計クエリで集計する ・フィールド[クラス]を行見出しに設定、 ・フィールド[科目]を列見出しに設定、 ・フィールド[点数]を集計する項目にし主計方法を「合計」に設定する。 =========================================== [クロス集計結果]   合計   英語  国語  数学       A  154   11    44    99        B  154   22    88    55     C  187   99    77    33  =========================================== [課題] クロス集計クエリで、集計値を四捨五入する (1) フィールド[クラス]を行見出しに設定、    フィールド[科目]を列見出しに設定、    フィールド[点数]を集計する項目にし主計方法を「合計」に設定する。 (2) クロス集計の値を、下1桁で四捨五入した値を表示する。   (3) 「合計」の値を、下1桁で四捨五入した値を表示する。 ※ クロス集計した合計値を、四捨五入した値を表示する   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== [クロス集計結果]   合計   英語  国語  数学     A  150   10    40   100        B  150   20    80    60     C  190   90    70    30  ===========================================   ↑  ↑  ↑  ↑  ↑  ↑  ↑  ↑    上記のように、クロス集計クエリでの集計値を四捨五入して 表示させたいのですが、どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ 幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。

  • Access2003 クロス集計クエリでの合計

    ☆以下のようなテーブルで、フィールド[ID]~[C]があり、文字および数字のデータが混在しています。   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== (テーブル(1)) [ID]  [A]      [B]    [C]     1    111     英語    10    2    222     英語    20    3    333     数学    30    4    111     国語    40   5    222     数学    50    6    333     国語    60    7    222     国語    70   8    333     英語    80     9    111     数学    90     =========================================== [課題] クロス集計クエリを作成する (1) フィールド[A]を行見出しに設定、    フィールド[B]を列見出しに設定、    フィールド[C]を集計する項目に設定する。   (2) フィールド[C]の値を列ごとに平均を計算し、    行ごとに合計を計算する。   ※ 列と行で、それぞれ集計した値を表示する   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== [クロス集計結果]     合計  英語  国語  数学     111  140   10    40    90        222  140   20    70    50     333  170   80    60    30  --------------- 平均  150   36     56   56 ===========================================   ↑  ↑  ↑  ↑  ↑  ↑  ↑  ↑    上記のようなクロス集計クエリの結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。

  • Accessのクロス集計について

    お願いします アクセスで次のようなアンケートCSVをインポートして集計しています。質問1・2に入力されるのは選択肢番号です <アンケート結果テーブル> 名前   回答者 質問1  ========================== 20080710 Aさん   1   20080710 Bさん   2    20080710 Cさん   5    上記をクロス集計を行い日別の集計を行っております。 <クロス集計> 日付   1 2 5 =========================== 20080710 1 1 1  上記の結果を回答がなかった選択番号は下記のように0を表示させたいのですがどうすればよろしいでしょうか? 日付   1 2 3 4 5 =========================== 20080710 1 1 0 0 1 

  • クロス集計クエリの結果をテーブルにしたい

    こんにちは。ACCESS 97、ほぼ初心者です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1445032 こちら様の質問の、便乗質問です(質問者様とは関係ありません)。 品番,倉庫,数量 4944,F,190 4960,A,25 4960,B,6 4960,C,72 4960,D,20 4960,E,50 4960,F,3 4962,C,26 4962,E,4 4963,C,5 4964,A,4 4964,C,148 4964,E,42 4965,A,2 4965,C,5 4965,E,1 4966,C,4 4966,E,1 こんなデータからテーブルを作成し、クロス集計クエリで 品番 A B C D E F 4944 190 4960 25 6 72 20 50 3 4962 26 4 4963 5 4964 4 148 42 4965 2 5 1 4966 4 1 という結果を出し、上の質問の方法でテーブル作成すると、元データと同じテーブルが作成されます。 A、B、C、D、E、Fを列見出しにしたテーブルを作成したいのですが、教えてください。

  • クロス集計のスピードアップ

    Accessで数十万件のデータのクロス集計をおこなおうと思っているのですが1日程度時間がかかってしまいます。以下のプロセスでスピードアップが図れそうな事項がございましたらご教授ください。 -------------------------------------------- (1)テーブル「A」とテーブル「B」(両方とも数十万件)を「A」のIDをキーとして「B」のIDと紐付けし、テーブル「A」の全項目とテーブル「B」のある1項目をクエリを用いて出力します。 (2)(1)のクエリをテーブルに変換する。(←ここで非常に時間がかかってしまいます。) (3)(2)についてクロス集計を行う。 -------------------------------------------- (2)でテーブルに変換せずにクロス集計を行っても非常に時間がかかってしまいます。素人質問で大変恐縮ですが何とぞご教授ください。 よろしくお願いいたします。

  • ACCESSのクロス集計クエリについて

    ACCESS2000のクロス集計クエリで超初歩的な質問なのですが、、 こんなテーブルがあります。 メーカー  商品名 A社    テレビ B社    テレビ A社    ラジオ A社    テレビ これをACCESSのクロス集計クエリでこんな感じにしたいです。 メーカー  商品名   集計 A社    テレビ   2 A社    ラジオ   1 B社    テレビ   1 エクセルでは、行見出しに「メーカー」と「商品名」を入れて値に「メーカー」か「商品名」どちらかを入れれば希望通りの結果になるのですが、ACCESSのクロス集計では、列見出しに必ず入れないとエラーが出るようです。入れなくても良い方法かもっといい方法がありましたらご教授ください。   

  • ACCESS2000 テーブルを分けてアンケートを集計するには?

    いつもお世話になっております。 WINXPでACCESS2000SR-1を使用し、 現在、アンケートを集計するデータベースを作成しています。 アンケート項目(フィールド)は、255近くあるので テーブルを何種類かに分けてデータベースを作ろうと思います。 例えば Aテーブルには「名前」 B,C,Dテーブルにはアンケートの回答を入れようと思います。 この場合、Aのレコードに対してB,C,Dのレコードを関連付けるにはどうしたらよいですか? また、クエリーでテーブルを合体すれば良いのですが フィールド数が多いためダメです。 宜しくお願い致します。

  • クロス集計の効率的なやり方について

    データの項目が22ありまして、これらの項目間のクロス集計を行います。 エクセルを使い、もっとも効率的なやり方があれば教えてください。 やはり一つずつ(AとB、AとC、AとDというように)やらねばならないのでしょうか。 また、エクセルに限らず、他に良いソフトがあれば、それもお教えください。

  • クロス集計クエリの合計 テキストボックスに表示

    クロス集計クエリの合計と、フォームのテキストボックスに表示させたいのですが無理でしょうか? クロス集計クエリの行見出しには会社名A社B社が入っていて、 合計 金額フィールドには各会社の合計金額が入っています。 そのクロス集計クエリを元にサブフォームを作り、 親フォームにはめ込んだのですが その親フォームにテキストボックスを設置し、 クロス集計クエリの合計 金額フィールドの合計を表示させたいのですが サブフォームのレコードをクリックするたびに、 親フォームにテキストボックスに表示される値は、そのアクティブなレコードの値になってしまいます。 テキストボックスのコントロールソースは =[テーブル1のクロス集計のサブフォーム].[Form]![合計 金額] としています。 A社B社のそれぞれのクロス集計クエリを作成し、 それぞれを足すしか、テキストボックスに合計を表示させる方法はないでしょうか?

  • Accessのクロス集計

    データテーブル 地域コード 年  データ 12204   2002   70 12204   2003  70 12204   2004  70 12205   2002  100 12205   2003  100 12205   2004  100 12206   2002  50 12206   2003  50 12206   2004  50 地域テーブル 地域コード 市名  合併情報 12202   松戸市 12203   市川市   12204   野田市   12205    柏市   沼南町(沼南町は柏市は合併しましたという意味) 12206   昭南町 作成したいクロス集計表 市名  2002 2003 2004 野田市  70  70  70 柏市  150  150  150 沼南町 50  50  50 市名と年 のクロス集計で もし地域テーブルに合併情報があれば (上記の場合 柏市(100)+昭南町(50)) それを反映させて集計するという形を作りたいのですが クロス集計クエリを作るときの抽出条件に記述すればいいのか、それとも1からコードを記述しなければならないか どうやって作ったらいいかよくわかりません。 説明がちょっとわかりづらいのですが もしわかるかたがいらしたら抽出条件式やコードなど詳しく教えていただけないでしょうか よろしくお願いいたします。

専門家に質問してみよう