Access VBA質問箱 IV

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

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


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

【12760】数値の種類をカウントするには まなび 15/3/24(火) 17:32 質問[未読]
【12761】Re:数値の種類をカウントするには hatena 15/3/24(火) 18:38 回答[未読]
【12766】Re:数値の種類をカウントするには まなび 15/3/25(水) 11:03 質問[未読]
【12769】Re:数値の種類をカウントするには まなび 15/3/25(水) 12:46 質問[未読]
【12770】Re:数値の種類をカウントするには hatena 15/3/25(水) 14:57 回答[未読]
【12773】Re:数値の種類をカウントするには まなび 15/3/25(水) 16:47 お礼[未読]

【12760】数値の種類をカウントするには
質問  まなび  - 15/3/24(火) 17:32 -

引用なし
パスワード
   アクセスの初心者です。

参加日ID(オートナンバー)
参加者番号
参加日(年月日)

という“参加日履歴”というテーブルを作りました。
各参加者の属性などの情報のテーブルをメインフフォームとして、上記の参加日履歴をサブフォームとして埋め込んで使っています。それぞれ参加者さんが、会に参加されるたびに参加した日を入力して使っています。

月別に、複数回来ている人も1回と数えて、実質何人の方が来られたかをカウントする方法はありますか?
データの抽出範囲をひと月で区切って、そこに出てくる参加者の番号の種類をカウントできればと思うのですが、番号の種類自体をカウントする方法が分かりませんでした。
月別ののべ参加人数はすぐに出るのですが・・・。
どなたかご回答いただけますと大変ありがたいです。よろしくお願い致します。

【12761】Re:数値の種類をカウントするには
回答  hatena  - 15/3/24(火) 18:38 -

引用なし
パスワード
   ▼まなび さん:
>月別に、複数回来ている人も1回と数えて、実質何人の方が来られたかをカウントする方法はありますか?
>データの抽出範囲をひと月で区切って、そこに出てくる参加者の番号の種類をカウントできればと思うのですが、番号の種類自体をカウントする方法が分かりませんでした。

下記のような集計クエリを作成します。

フィールド 参加者番号 年月: Format([参加日],"yyyy/mm")
集計    グループ化 グループ化

この集計クエリからさらに集計クエリを作成して、下記のように設定します。

フィールド 年月    参加人数: 参加者番号
集計    グループ化 カウント

以上です。


サブクエリを使えば一つのSQLで可能です。

SELECT 年月, Count(参加者番号) AS 参加人数
FROM
(SELECT DISTINCT 参加者番号, Format([参加日],"yyyy/mm") AS 年月 FROM 参加日履歴)
AS T
GROUP BY 年月;

【12766】Re:数値の種類をカウントするには
質問  まなび  - 15/3/25(水) 11:03 -

引用なし
パスワード
   hatena さま

早々にご回答いただきありがとうございました。
前者のほうのやり方でしたいのですが、


>フィールド 参加者番号 年月: Format([参加日],"yyyy/mm")
>集計    グループ化 グループ化

このクエリの作成時に、 Format([参加日],"yyyy/mm")を入力しようとすると、
“指定した構文が正しくありません。たとえば、演算子のような〜”と出てしまいます。スペースが入っていないかなど確認したのですが、エラーの意味がよくわかりませんでした。
もし、エラーの解消法をご存知でしたら教えていただけると助かります。

【12769】Re:数値の種類をカウントするには
質問  まなび  - 15/3/25(水) 12:46 -

引用なし
パスワード
   何度も失礼します。
先ほどのエラーの件ですが、再度作り直したところエラーなしにできました。

しかし、二つ目のクエリで集計したところ、月別の実参加人数ではなく、延べ人数が集計されてしまいます。
format関数で表示を月に統一しても、データの持っている中身自体は変わらないからなのでしょうか。

後者の、サブクエリでひとつのSQLで処理する方法は、やり方が分からず試せていたいのですが、前者と原理が同じであれば、やはり同じ結果になるのでしょうか。

何か他に良い案があればよろしくお願いしたします。


▼まなび さん:
>hatena さま
>
>早々にご回答いただきありがとうございました。
>前者のほうのやり方でしたいのですが、
>
>
>>フィールド 参加者番号 年月: Format([参加日],"yyyy/mm")
>>集計    グループ化 グループ化
>
>このクエリの作成時に、 Format([参加日],"yyyy/mm")を入力しようとすると、
>“指定した構文が正しくありません。たとえば、演算子のような〜”と出てしまいます。スペースが入っていないかなど確認したのですが、エラーの意味がよくわかりませんでした。
>もし、エラーの解消法をご存知でしたら教えていただけると助かります。

【12770】Re:数値の種類をカウントするには
回答  hatena  - 15/3/25(水) 14:57 -

引用なし
パスワード
   ▼まなび さん:
>しかし、二つ目のクエリで集計したところ、月別の実参加人数ではなく、延べ人数が集計されてしまいます。
>format関数で表示を月に統一しても、データの持っている中身自体は変わらないからなのでしょうか。

最初の集計クエリで、参加者番号 と 年月: Format([参加日],"yyyy/mm") 以外のフィールドを表示させてませんか。

どうしてもうまくいかないなら、SQLビューにして表示されるSQL文をコピーしてここに貼り付けてください。


>後者の、サブクエリでひとつのSQLで処理する方法は、やり方が分からず試せていたいのですが、前者と原理が同じであれば、やはり同じ結果になるのでしょうか。

クエリを新規作成して、SQLビューにしてそこに、前回の SQL文を貼り付ければOKです。

【12773】Re:数値の種類をカウントするには
お礼  まなび  - 15/3/25(水) 16:47 -

引用なし
パスワード
   hatenaさま

早々に返信ありがとうございました。

>クエリを新規作成して、SQLビューにしてそこに、前回の SQL文を貼り付ければOKです。

上記のやり方で貼り付けたところ、さっそく集計ができました!
式の意味は分からないですが、すぐに結果が出て感動しました!
4月から稼働させるものだったので、本当に助かりました。
お手数とお時間を使って回答していただきありがとうございました。

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