ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3752929 時間の足し算
質問者:rnyrevo アクセスで時間の足し算をやりたいのですが
なかなかうまくいきません
08:03:00とテーブルにテキスト型でデータがあり、
これに1分足したいと思います
クエリでさせたいと思いますがどなたか教えていただけないでしょうか?
もしくはVBやSQLでもかまいません
困り度:
  • すぐに回答を!
質問投稿日時:
08/02/07 13:30
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.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関数も併せて・・・。
回答者:Husky2007
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/02/07 14:22
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.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

このような時間の加減算は、当然に標準外計算ですのでありえません。
ちょっと、<時間の足し算>という言葉使いに疑問を感じたので・・・。
回答者:Husky2007
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/02/07 14:14
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答良回答10pt

ANo.2 文字列として欲しい場合
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時に戻る」ようにしています。
回答者:chie65536
種類:回答
どんな人:一般人
自信:参考意見
回答日時:
08/02/07 14:12
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 Selection.Value = TimeValue("08:03:00") + TimeValue("00:01:00")
回答者:okormazd
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/02/07 13:37
この回答へのお礼皆様ありがとうございます。
うまくいきましたので後は自分なりにアレンジしていきます!