AccessVBAについて教えてください。 施設利用テーブルがあり、日付列、利用時間列を用意しています。

AccessVBAについて教えてください。 施設利用テーブルがあり、日付列、利用時間列を用意しています。 施設利用テーブル 日付/利用時間 1月1日/2:50 … 12月31日/3:00 月曜日から日曜日までを1週間として、週間ごとのの利用時間の合計時間を求め、20時間以上であれば、メッセージボックスにお得意様という言葉が表示されるようにしたいのですが、可能でしょうか?

ベストアンサー

0

集計クエリでDatePart関数により何週目か求め、それでグループ化し利用時間を集計する。 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/datepart-function *サンプル 通週 : DatePart("ww",[日付],2,1) 利用時間が日付型だけれど集計すると小数点以下アリの数値型になるのでCDate関数で日付型に戻す。 それを#20:00:00#で比較する。 その比較したものがTrueになっているものがあれば"お得意様"ということになる。 あと、先回答者さんからの指摘されてる<年>についてはどうするのか? テーブルには<顧客ID>みたいなのはないのか? 等の条件を与えて絞り込む。 以上を上手い具合にクエリで組み立てれば、回答は【可能】です。

ThanksImg質問者からのお礼コメント

丁寧に説明していただき、ありがとうございました。

お礼日時:9/17 20:09

その他の回答(1件)

0

サンプルデータとして >1月1日/2:50 と書かれていますが 曜日はどうやって取得するのでしょうか? 1月1日だけなら2019年か2020年か分かりませんので 曜日を求める事が出来ないのでは? >月曜日から日曜日までを1週間として、週間ごとのの利用時間の合計時間を求め、20時間以上であれば 2019年1月7日から2019年1月13日までに20時間利用された人がいたとします。 それ以後、利用されておらず2020年9月17日に久しぶりに来た場合 お得意様と表示するのでしょうか? 言われている仕様どおりでは表示するのでしょうけど。