• 締切済み

アクセス クエリ アドバイス下さい! 従業員出勤退勤のデータ

お分かりのかた、アドバイス、ご教示いただけますと幸いです。 以下のテーブルがあります。 --------------------------------------------------------------------------------- 出勤時刻 退勤時刻 8:47:00  13:15:00 8:49:00  18:03:00 9:00:00  13:00:00 10:00:00  19:09:00 11:47:00  20:43:00 ※日付/時刻型です。 --------------------------------------------------------------------------------- (1)クエリで時間ごとに纏めて表示しカウントしたい。  ※条件として勤務時間は15分単位で、8:47出社は9:00、18:03退社は18:00となります。 出勤時刻 退勤時刻 人数  9:00  13:00   1  9:00  13:15   1  9:00  18:00   1 10:00 19:00    1 12:00 20:30   1 (2)クエリで時間ごとにまとめた上で在籍人数をカウントしたい 時間帯 人数  9:00  3  9:15  3  9:30  3  9:45  3 10:00  4 10:15  4 10:30  4 10:45  4 11:00  4 11:15  4 11:30  4 11:45   4 12:00   5 (1)と(2)上記のようなことは可能でしょうか? 大変お手数をお掛けいたしますが、ご教示いただけますと幸いです。 どうぞ宜しくお願いいたします。

みんなの回答

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

(1) 切り上げの一般式は Int(数字/基数+0.99)*基数 切り下げの一般式は Int(数字/基数)*基数 15分というのは数字にすると 1/24/60*15=1/96 したがって 修正出勤時刻: Int([出勤時刻]*96+0.99)/96 修正退勤時刻: Int([退勤時刻]*96)/96 人数は出す必要ないですね、それより誰の出退勤かという方が重要です ID  修正出勤時刻  修正退勤時刻 1  9:00  13:15 2  9:00  18:00 3  9:00  13:00 4  10:00  19:00 5  12:00  20:30 (2) 時間帯テーブルは下のようなものにします 時間帯始  時間帯終 9:00:00   9:14:00 9:15:00   9:29:00 9:30:00   9:44:00 9:45:00   9:59:00 10:00:00  10:14:00 10:15:00  10:29:00 10:30:00  10:44:00 10:45:00  10:59:00 11:00:00  11:14:00 11:15:00  11:29:00 11:30:00  11:44:00 12:00:00  12:14:00 1のクエリと2のテーブルをクエリデザインビューに取り込み 結合はせずにおいて ID、時間帯始、時間帯終を取り出し 時間帯始の抽出条件欄に <=修正退勤時刻 時間帯終の抽出条件欄に >=修正出勤時刻 上2つの表示のチェックを外し 時間帯始をもう1つ取り出してから集計クエリに変え 2つ目の時間帯始:グループ ID:カウント 抽出条件を書いた時間帯始と終はWhere条件 参考のためにSQLは SELECT 時間帯テーブル.時間帯始, Count(出退クエリ.ID) AS IDのカウント FROM 時間帯テーブル, 出退クエリ WHERE (((時間帯テーブル.時間帯始)<=[修正退勤時刻]) AND ((時間帯テーブル.時間帯終)>=[修正出勤時刻])) GROUP BY 時間帯テーブル.時間帯始; 結果 時間帯始  IDのカウント 9:00:00   3 9:15:00   3 9:30:00   3 9:45:00   3 10:00:00  4 10:15:00  4 10:30:00  4 10:45:00  4 11:00:00  4 11:15:00  4 11:30:00  4 11:45:00  4 12:00:00  5 12:15:00  5 12:30:00  5 12:45:00  5

E-7MX
質問者

お礼

CHRONOS_0さま 完璧です!非常に助かりました!! ロジックまでご説明いただき、本当にありがとうございました!!

関連するQ&A

専門家に質問してみよう