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

こんばんわ

Accessで秒を時間表示に変更させるためには
どうしたらよいのでしょうか??


例 秒が42579の場合時間にすると11:49:39
  秒が50.736の場合時間にすると00:00:51

クエリに式を入れて表示させるのでしょうか?

よろしくお願いします!

A 回答 (2件)

秒を格納しているフィールド名が 秒数 だとして


クエリのデザインビューにて新たなフィールドを作成。
そこに
時間表示: CDate(Format([秒数]/3600/24,"hh:nn:ss"))
で出来ます。
秒数を一日の秒数(86400 = 3600*24)で割って
Format関数 で時間表示に加工、
このままではテキスト型になってしまうので
さらに、Cdate関数で日付時刻型に変更しています。

http://support.microsoft.com/kb/881854/ja
http://support.microsoft.com/kb/210276/ja
    • good
    • 0
この回答へのお礼

ありがとうございました。
教えていただいた方法で24時間以内の秒数は
時間表示できました。
ですが、24時間を越える秒の累計の変換がうまくいきません。
これはどうしたらよいのか、教えていただけると幸いです。

よろしくお願いします!

お礼日時:2006/07/30 17:14

どうやったら良いでしょうね (^_^;)


24時間を越えるなら
時間表示:format([秒数] / 86400 + 1,"dd\日 hh:nn:ss")とか
時間表示:format([秒数] / 86400 + 1,"d\日 hh:nn:ss")
として『表示のみに使用』し、文字を右詰めにして
実際の計算は、[秒数]フィールドで行うしかなさそう?です。


日付時刻型データは、1899/12/30 00:00:00 を起点として
1日を1、時間部分は小数点で格納される倍精度浮動小数点型です。
なので
たとえば、90000秒を 01日 01:00:00 と表現したい場合は
format(90000 / 86400 ,"dd\日 hh:nn:ss")だと
31日 01:00:00 になりますので
format(90000 / 86400 + 1,"dd\日 hh:nn:ss")
と誤魔化してやります。

これを日付型にしようとして
Cdate(format(90000 / 86400 + 1,"dd\日 hh:nn:ss"))
だとエラーになりますので
Cdate(format(90000 / 86400 + 1,"yyyy/mm/dd hh:nn:ss"))
ではエラーにはなりませんが
1900/01/01 1:00:00
となっちゃうのねん。
    • good
    • 0
この回答へのお礼

お忙しいところ本当にありがとうございます!!

いろいろと試してみましたが、どうもうまくいかず、
その部分だけは秒表示にすることにしました。
ご親切な対応ありがとうございました!!!

お礼日時:2006/07/31 20:42

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

このQ&Aを見た人はこんなQ&Aも見ています