Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1079 / 2272 ツリー ←次へ | 前へ→

【8847】集計の仕方を教えてください M 06/11/28(火) 18:32 質問[未読]
【8849】Re:集計の仕方を教えてください Gin_II 06/11/29(水) 8:24 回答[未読]
【8852】Re:集計の仕方を教えてください M 06/11/29(水) 13:05 質問[未読]
【8854】Re:集計の仕方を教えてください Gin_II 06/11/29(水) 14:59 回答[未読]
【8857】Re:集計の仕方を教えてください M 06/11/29(水) 16:35 お礼[未読]
【8858】Re:集計の仕方を教えてください M 06/11/29(水) 17:16 質問[未読]
【8859】Re:集計の仕方を教えてください Gin_II 06/11/29(水) 17:26 回答[未読]
【8860】Re:集計の仕方を教えてください M 06/11/29(水) 17:54 質問[未読]
【8865】Re:集計の仕方を教えてください Gin_II 06/12/1(金) 12:33 回答[未読]
【8867】Re:集計の仕方を教えてください M 06/12/6(水) 15:45 質問[未読]

【8847】集計の仕方を教えてください
質問  M  - 06/11/28(火) 18:32 -

引用なし
パスワード
   申し訳ありませんが、お知恵を貸してください。
以下のようなテーブルがあります。

ID    希望商品            
1    A    B    C    D
2    B    C    D    E
3    C    D    E    F
4    D    E    F    G
5    A    C    E    G
6    C    E    F    H
(続く)

出したい結果
A 2件
B 2件
C 5件
D 4件
E ・
F ・・

ただしA〜Hは固定ではなく無数にあり、ランダムにでてきます。
順位もありません。

テーブルの作り方に問題があるのかもしれませんが、
現状で一番楽に結果が得られる方法を教えていただけますでしょうか。
よろしくお願いいたします。

【8849】Re:集計の仕方を教えてください
回答  Gin_II  - 06/11/29(水) 8:24 -

引用なし
パスワード
   > ID    希望商品            
> 1    A    B    C    D
> 2    B    C    D    E
> 3    C    D    E    F
> 4    D    E    F    G
> 5    A    C    E    G
> 6    C    E    F    H

1つの希望商品フィールドの中に、複数の商品名が存在しているのでしょうか?
それとも、希望商品1・希望商品2とかのように、複数のフィールドとして
あるのでしょうか?

後者であれば、ユニオンクエリを使ってみてください。

【8852】Re:集計の仕方を教えてください
質問  M  - 06/11/29(水) 13:05 -

引用なし
パスワード
   ▼Gin_II さん:

どうもありがとうございました。

>1つの希望商品フィールドの中に、複数の商品名が存在しているのでしょうか?
>それとも、希望商品1・希望商品2とかのように、複数のフィールドとして
>あるのでしょうか?
>
>後者であれば、ユニオンクエリを使ってみてください。

後者です。
初心者なものでよくわからないのですが、具体的にどのようにすればいいか
教えていただけますでしょうか。
ユニオンクエリはテーブルの連結に使ったことがあるだけで、全く見当がつきません。
申し訳ありませんがどうぞよろしくお願いいたします。

【8854】Re:集計の仕方を教えてください
回答  Gin_II  - 06/11/29(水) 14:59 -

引用なし
パスワード
   > ID    希望商品            
> 1    A    B    C    D
> 2    B    C    D    E
> 3    C    D    E    F
> 4    D    E    F    G
> 5    A    C    E    G
> 6    C    E    F    H

テーブル名:T_アンケート
 フィールド名:ID
        希望商品1
        希望商品2
        希望商品3
        希望商品4

だとして、クエリの新規作成⇒テーブルの表示の後に、
「表示」⇒「SQLビュー」で、以下のようなSQL文を入れてみてください。


SELECT T.希望商品, COUNT(T.希望商品) AS 件数
FROM (SELECT 希望商品1 AS 希望商品 FROM T_アンケート
   UNION ALL
   SELECT 希望商品2 FROM T_アンケート
   UNION ALL
   SELECT 希望商品3 FROM T_アンケート
   UNION ALL
   SELECT 希望商品4 FROM T_アンケート
   ) AS T
GROUP BY T.希望商品

で、
希望商品    件数
A    2
B    2
C    5
D    4
E    5
F    3
G    2
H    1

のようになります。

【8857】Re:集計の仕方を教えてください
お礼  M  - 06/11/29(水) 16:35 -

引用なし
パスワード
   できました!
どうもありがとうございました。
もっと勉強しようと思います。
本当に助かりました。ありがとうございます!

【8858】Re:集計の仕方を教えてください
質問  M  - 06/11/29(水) 17:16 -

引用なし
パスワード
   たびたび申し訳ありません。
作成したクエリを保存しようとするとエラーメッセージが出て
強制終了してしまいます。
何か解決方法はありますでしょうか。
お知恵をお貸しいただきたくよろしくお願いいたします。

【8859】Re:集計の仕方を教えてください
回答  Gin_II  - 06/11/29(水) 17:26 -

引用なし
パスワード
   > 作成したクエリを保存しようとするとエラーメッセージが出て
> 強制終了してしまいます。

エラーメッセージは提示しましょう ^^;


一度、保存したりすると、

> SELECT T.希望商品, COUNT(T.希望商品) AS 件数
> FROM (SELECT 希望商品1 AS 希望商品 FROM T_アンケート
>    UNION ALL
>    SELECT 希望商品2 FROM T_アンケート
>    UNION ALL
>    SELECT 希望商品3 FROM T_アンケート
>    UNION ALL
>    SELECT 希望商品4 FROM T_アンケート
>    ) AS T
> GROUP BY T.希望商品

SELECT T.希望商品, COUNT(T.希望商品) AS 件数
FROM [SELECT 希望商品1 AS 希望商品 FROM T_アンケート
   UNION ALL
   SELECT 希望商品2 FROM T_アンケート
   UNION ALL
   SELECT 希望商品3 FROM T_アンケート
   UNION ALL
   SELECT 希望商品4 FROM T_アンケート
   ]. AS T
GROUP BY T.希望商品

のように、FROM 文の中が、() から []. のように変わったりします。
なので、どこかを変更した場合には、() の部分もあわせて確認してください。

【8860】Re:集計の仕方を教えてください
質問  M  - 06/11/29(水) 17:54 -

引用なし
パスワード
   すみません。
エラーメッセージは
問題が発生したため、Microsoft Access を終了します。 ご不便をおかけして申し訳ありません。

参照というところに
AppName: msaccess.exe     AppVer: 10.0.4302.0     ModName: mso.dll
ModVer: 10.0.4219.0     Offset: 00007897

となっています。

[]が変わったりすることがあるんですね。気をつけます。
ただ今回は保存すること自体ができないんです。。
(表示はできました。)

【8865】Re:集計の仕方を教えてください
回答  Gin_II  - 06/12/1(金) 12:33 -

引用なし
パスワード
   >問題が発生したため、Microsoft Access を終了します。

新規mdbファイルを作成して、すべてのオブジェクトをインポートしても
同じような症状が発生しますか?

【8867】Re:集計の仕方を教えてください
質問  M  - 06/12/6(水) 15:45 -

引用なし
パスワード
   ▼Gin_II さん:
>新規mdbファイルを作成して、すべてのオブジェクトをインポートしても
>同じような症状が発生しますか?

ご回答ありがとうございます。
新規mdbファイルを作成してテーブルをインポートしてみましたが、
同じ症状が発生してしまいました。
他の人のPCで試してみましたが、やはり同じ結果でした。

1079 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078210
(SS)C-BOARD v3.8 is Free