|
▼わん さん:
こんにちは。
>小僧さんお願いします。
他の回答者の方が答え難くなっちゃいますよ ^^;
>コード自体の意味を完全に理解できていないからだと思います。
では前回のおさらいからという事で…。
出勤時間 分 Mod 15 補正された時間
xx:10 10 → xx:00
xx:15 0 → xx:15
xx:37 7 → xx:30
xx:59 14 → xx:45
>>DateAdd("n", - Minute([出勤時間]) Mod 15,[出勤時間]) AS 出勤丸め,
「出勤時間」 から 「出勤時間の[分]を15で割った余り」 を
「引いたもの(実際には−をつけたものを足しています。)が補正された時間です。
>繰り上げにトライしたのですが上手くいきません。
>単純に-を+にしただけではダメなのですね。
さて、こちらの方ですが
出勤時間 分 Mod 15 切捨てた時間 切り上げた時間
xx:10 10 → xx:00 (xx:15)
xx:15 0 → xx:15 (xx:30)
xx:37 7 → xx:30 (xx:45)
xx:59 14 → xx:45 (xx:00)繰り上がって
「切上」と考えるとややこしくなりますがちょっと発想を変えると
切捨てた時間に15分足せば良い事に気が付きませんか?
SELECT 社員労働時間.社員番号, 社員労働時間.出勤時間,
DateAdd("n",-Minute([出勤時間]) Mod 15,[出勤時間]) AS 出勤切捨,
DateAdd("n",15-Minute([出勤時間]) Mod 15,[出勤時間]) AS 出勤切上
FROM 社員労働時間;
切捨てと切上げを見比べてみて下さい。
|
|