- ベストアンサー
時間の足し算
アクセスで時間の足し算をやりたいのですが なかなかうまくいきません 08:03:00とテーブルにテキスト型でデータがあり、 これに1分足したいと思います クエリでさせたいと思いますがどなたか教えていただけないでしょうか? もしくはVBやSQLでもかまいません
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
? Format(TimeValue("11:12:00") + TimeValue("23:56:00"), "hh:nn:ss") 11:08:00 ? Format(CDate("11:12:00")+CDate("23:56:00"), "hh:nn:ss") 11:08:00 こういうように、足す=時刻を求めるという意味ならば Format関数も併せて・・・。
その他の回答 (3)
Q、時間の足し算要領。 A、08:03:00は時刻。 ? TimeValue("08:03:00") + TimeValue("00:01:00") 8:04:00 ? CDate("08:03:00")+CDate("00:01:00") 8:04:00 これは、時間の足し算ではなく時刻を進めただけです。 ? TimeValue("11:12:00") + TimeValue("23:56:00") 1899/12/31 11:08:00 ? CDate("11:12:00")+CDate("23:56:00") 1899/12/31 11:08:00 ですから、このように当然に限度ってもんがあります。 [イミディエイト] ? XTime(XDate("11:12") + XDate("23:56")) 35:08 このような時間の加減算は、当然に標準外計算ですのでありえません。 ちょっと、<時間の足し算>という言葉使いに疑問を感じたので・・・。
- chie65536
- ベストアンサー率41% (2512/6032)
文字列として欲しい場合 SELECT Format(TimeValue([時刻])+(1/24/60),"hh:nn:ss") FROM テーブル; 時刻値として欲しい場合 SELECT TimeValue(Format(TimeValue([時刻])+(1/24/60),"hh:nn:ss")) FROM テーブル; 「1/24/60」の意味は 1日(24時間)は数値で「1」 1時間(1/24日)は数値で「1/24」 1分(1/60時間)は数値で「1/24/60」 を意味します。 SELECT Format(TimeValue([時刻])+TimeValue("00:01:00"),"hh:nn:ss") FROM テーブル; SELECT TimeValue(Format(TimeValue([時刻])+TimeValue("00:01:00"),"hh:nn:ss")) FROM テーブル; でもOKです。 なお「23:59:00」に1分を足しただけでは「結果に変な日付がくっ付いてくる」ので「24時間を超えたら0時に戻る」ようにしています。
- okormazd
- ベストアンサー率50% (1224/2412)
Selection.Value = TimeValue("08:03:00") + TimeValue("00:01:00")
お礼
皆様ありがとうございます。 うまくいきましたので後は自分なりにアレンジしていきます!