![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
アクセスのことは全然わからんのですが、
割り算の余りをもとめる、とか、
小数点以下を切り捨てた値を求める、という関数や、
変数などはありますか?
あれば、わりと簡単な計算でできます。
t1=930 (または、2215)
とすると、
h1 = 小数点以下切り捨て関数(t/100)
m1 = あまりを求める関数(t,100)
のような計算をすると、
hに9が、mに30が入ります。こうすると、
t1=h+m/60
でt1が9.5になります。
2215の方も同様の計算で t2=22.25 になります。
こうなれば、普通の引き算 t2-t1 で12.75が出せます。
No.5
- 回答日時:
No.2さんWrote
> Private Function ....
>
これだと、別モジュールから呼び出せません。
> クエリ、VBAなどで使用できます
>
という趣旨なら、Publicスコープの方がよろしいかと・・・。
(2バイト文字の関数名というのも如何なものかと・・・)
> '時刻補正(次の日か?次の日だったら一日追加)
> If wEtime <= wStime Then wEtime = wEtime + 1
日付の情報がない限り、wEtime = wStime のときを同時刻と解釈してゼロを返すか、翌日と解釈して24(または翌々日以降と解釈して24の倍数)を返すか判断できないと思いますが、どうでしょうか?
No.3さん、端数処理で演算誤差が出るようで、
?fnc("2215", "0930") → 11.7666666666667
となります。
(「自信あり」とのことですので、私の方が間違えているのかもしれませんが・・・)
No.4さんWrote
> =Hour(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) + Minute(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) / 60
Intより\演算子の方がたぶんベターです。(この場合、オペランドが長整数を超えることはないはずなので)
= Hour(TimeSerial((2215 \ 100) - (930 \ 100), (2215 Mod 100) - (930 Mod 100), 0)) & ":" & Minute(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0))
とすれば、"hh:nn"形式の文字列に変換する手間が省けると思います。
ちなみに、私なら、
Public Function GetTimeDiff(Stime As Integer, Etime As Integer) As Date
GetTimeDiff = CDate(Format$(Etime, "@@:@@")) - CDate(Format$(Stime, "@@:@@"))
End Function
または、
Public Function GetTimeDiff(Stime As Integer, Etime As Integer) As String
GetTimeDiff = Format$(CDate(Format$(Etime, "@@:@@")) - CDate(Format$(Stime, "@@:@@")), "hh:nn")
End Function
とします。
(処理速度面では難があるかもしれませんが、記述が簡明です)
No.4
- 回答日時:
=Hour(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) + Minute(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) / 60
になると思います。(VBAを使うことの程でもないと思いますが・・・)
使用する状況が解らないので、数字をそのまま使いました。
No.3
- 回答日時:
こんな感じの関数を使用してはどうでしょう。
Function fnc(t1 As Integer, t2 As Integer) As Double
Dim M As Integer
Dim H As Integer
H = Int(t1 / 100) - Int(t2 / 100)
M = (t1 - Int(t1 / 100) * 100) - (t2 - Int(t2 / 100) * 100)
If (M < 0) Then
M = M + 1
H = H - 1
End If
fnc = H + M / 60
End Function
No.2
- 回答日時:
お疲れ様です
下記コードをモジュールに貼り付けます
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Private Function 経過時間算出(Stime As String, Etime As String) As Single
Dim wStime As Date
Dim wEtime As Date
Dim wMinutes As Long
'計算対象時刻取得
wStime = CDate(Mid(Stime, 1, 2) & ":" & Mid(Stime, 3, 2))
wEtime = CDate(Mid(Etime, 1, 2) & ":" & Mid(Etime, 3, 2))
'時刻補正(次の日か?次の日だったら一日追加)
If wEtime <= wStime Then wEtime = wEtime + 1
'差分の分算出
wMinutes = DateDiff("n", wStime, wEtime)
'経過時間の算出
経過時間算出 = (wMinutes \ 60) + ((wMinutes Mod 60) / 100)
End Function
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使い方は、
経過時間算出("2215","0930")
クエリ、VBAなどで使用できます
参考になれば...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
[MS Access]クエリで変換 hhmm(数値型)⇒hh:mm(日付/時刻型)
その他(Microsoft Office)
-
Accessの数値から時間に変換する時点で困っています。
その他(データベース)
-
アクセスのクエリで秒→時間、時間→秒に変換したい
Access(アクセス)
-
-
4
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
5
Accessで値がnullの場合は計算せずにnullをかえす方法
Access(アクセス)
-
6
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
7
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
8
ACCESSの時間帯の抽出について
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数字の数え方について
-
500メートルは徒歩何分ですか?
-
週の数え方が未だに曖昧です。
-
[Excelの時刻計算]秒の切捨て
-
飲食代の交際費は誰と行ったか...
-
パソコンソフトや音楽データは...
-
信用金庫の出資配当金の処理。
-
外注費が買掛金か未払金か
-
免許証の更新手数料は経費にな...
-
新規事業の開業資金は、税務上...
-
按分の考え方(端数をどこに配...
-
自宅を事務所にしている場合の...
-
家の修繕費の勘定科目って?
-
運送業において運転免許更新料...
-
同居する世帯の違う身内からの...
-
外注業者の出張宿泊費
-
長期前払い費用について5年保...
-
青色申告、仕事場建築のための...
-
ヤフオクの「自動入札機能」が怖い
-
レンタルカート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報