- ベストアンサー
Accessで秒を時間で表示させる方法って?
こんばんわ Accessで秒を時間表示に変更させるためには どうしたらよいのでしょうか?? 例 秒が42579の場合時間にすると11:49:39 秒が50.736の場合時間にすると00:00:51 クエリに式を入れて表示させるのでしょうか? よろしくお願いします!
- みんなの回答 (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
その他の回答 (1)
- nicotinism
- ベストアンサー率70% (1019/1452)
どうやったら良いでしょうね (^_^;) 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 となっちゃうのねん。
お礼
お忙しいところ本当にありがとうございます!! いろいろと試してみましたが、どうもうまくいかず、 その部分だけは秒表示にすることにしました。 ご親切な対応ありがとうございました!!!
お礼
ありがとうございました。 教えていただいた方法で24時間以内の秒数は 時間表示できました。 ですが、24時間を越える秒の累計の変換がうまくいきません。 これはどうしたらよいのか、教えていただけると幸いです。 よろしくお願いします!