ACCESSのクエリの集計を使って時間の合計を出しました。
●●:●●となっていて、何時何分だけの合計時間を足していったクエリを作成したいのですが、
結果的に【6.94444444444442E-03】という感じになってしまいます。
データ型は【日付/時刻型】で
書式【hh\時nn\分】としていて、それ同士を足し合わせているのですが、、、
この辺りのデータ型の部分に何か間違いがあるような気がするのですが、分からず
もしよろしければご教授頂けますと幸いです。
VBAの式
・開始時間:8:00
・終了時間:8:17
と入っていて、黄色の止まった場所にも開始時間、終了時間にはそれが入っているのですが、
【Me.tx_合計時間.Value】には、1990/01/20と入っていて、時間差の分が出ません。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
Accessの 日付/時刻型 は日付と時刻を表すもので、時間を表すものではありません。
時刻と時間は別の概念というのは理解してますよね。(時刻は時間軸上の位置、時間は長さをあらわすものです。)
Accessには時間型というのはありませんので、テーブルに格納するときは分単位とか秒単位の数値に変換して格納することになります。書式【hh\時nn\分】としているとこうことは分単位で格納すればいいでしょう。
例えば、開始時刻 終了時刻 というのがあってそこから時間を計算する場合は、Datediff("n",[開始時刻],[終了時刻])
という式で分単位の時間に変換できます。これを集計することになります。
分単位の数値を hh時nn分という書式で表示するには、
[時間] \ 60 & "時" & [時間] Mod 60 & "分"
というような式で変換します。
Accessで時間を扱う場合の一例を提示しておきます。
(一つの例ですので他の方法もあります。)
テーブルに 開始時刻, 終了時刻 という日付/時刻型のフィールドがあるとします。
このテーブルからクエリを作成します。テーブル名は Tbl1 と仮定してます。
sql
1SELECT Tbl1.*, DateDiff("n",[開始時刻],[終了時刻]) As 時間 From Tbl1;
クエリ名は Qry1 と仮定します。
このクエリをフォームのレコードソースとします。このフォームで
開始時間:8:00
終了時間:8:17
と入力すると時間には、17 と分単位の数値が表示されます。
開始時間:8:00
終了時間:10:17
だと、137 と表示されます。137分という意味です。
これを、2時間17分と表示させたい場合は、テキストボックスを配置して、コントロールソースを下記のように設定します。
=[時間] \ 60 & "時間" & Format([時間] Mod 60, "00") & "分"
ここまでVBAは必要ありません。
この時間を集計クエリで集計したい場合もあると思います。その場合も時間を集計します。
sql
1SELECT 2 Sum([時間]) AS 時間計, 3 [時間計]\60 & "時間" & Format([時間計] Mod 60,"00") & "分" AS 時間計hn 4FROM Qry1;
上記のクエリは全合計をだすように単純化してますが、必要に応じてグループ化してください。
時間計 には分単位の数値、時間計hn には h時間nn分という表示になります。
この式だと例えば、35時間17分 というような24時間以上の表示も可能です。
日付/時刻型ではこの表示は無理です。
投稿2021/04/26 11:58
編集2021/04/27 01:55総合スコア34084
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/04/26 23:33 編集
退会済みユーザー
2021/04/27 08:41 編集
2021/04/27 23:08
0
FormatDateTime関数で、
access
1FormatDateTime([開始時間]+[追加時間])
と指定するか、
Format関数で、
access
1Formtat([開始時間]+[追加時間],"hh:nn:ss")
と指定するか、してみましょう。
投稿2021/04/26 11:48
編集2021/04/26 12:04総合スコア2287
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/26 12:01
2021/04/26 12:03
2021/04/26 12:11
2021/04/26 12:18 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。