アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESS2003を使っています。タイムカードテーブルに「出社時刻」と「退社時刻」の「日付/時刻型」のフィールドがあります。このタイムカードテーブルから「出社時刻」と「退社時刻」フィールドを含むクエリを作り、勤務時間:[退社時刻]-[出社時刻]という計算フィールドを作った場合、勤務時間フィールドのプロパティで「書式」のメニューに「日付」や「時刻」が表示されたりされなかったりします。
これはACCESSのバグでしょうか?必ず表示させることはできないのでしょうか。(書式にところに時刻の形式を書き込めば表示されることは知っています。)

A 回答 (1件)

>必ず表示させることはできないのでしょうか。


明示的に日付型に変換すれば、表示されると思います。

勤務時間:CDate([退社時刻] - [出社時刻])

「時刻」と「時間」は微妙に意味が違います。
時間を時刻で表示した場合、若干問題があります。
24時間以上差がある場合は、注意してください。

例えば、上記の勤務時間を月で合計した場合など、
期待通りの表示にはならないと思います。


余計なお節介かもしれませんが、何らかの計算に使うなら、
DateDiff関数を使う方が無難です。

例:時間単位、端数は切り捨て

勤務時間(時):DateDiff("h", [出社時刻], [退社時刻])


例:30分単位、端数は切り捨て

勤務時間(分):Int(DateDiff("n", [出社時刻], [退社時刻]) / 30) * 30
    • good
    • 0
この回答へのお礼

ご親切な説明ありがとうございました。
ご説明の意味はよく分かりました。たまたま計算フィールドのプロパティで、書式に時刻が表示されてしまったので頭が混乱してしまいました。必ず時刻を表示させるにはCDateで時刻を明示しておけば良かったのですね。
ありがとうございました。

お礼日時:2007/10/09 16:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!