回答編集履歴
4
コード修正
test
CHANGED
@@ -80,7 +80,13 @@
|
|
80
80
|
|
81
81
|
```sql
|
82
82
|
|
83
|
+
SELECT
|
84
|
+
|
83
|
-
|
85
|
+
Sum([時間]) AS 時間計,
|
86
|
+
|
87
|
+
[時間計]\60 & "時間" & Format([時間計] Mod 60,"00") & "分" AS 時間計hn
|
88
|
+
|
89
|
+
FROM Qry1;
|
84
90
|
|
85
91
|
```
|
86
92
|
|
@@ -88,18 +94,10 @@
|
|
88
94
|
|
89
95
|
|
90
96
|
|
91
|
-
|
97
|
+
時間計 には分単位の数値、時間計hn には h時間nn分という表示になります。
|
92
|
-
|
93
|
-
集計クエリを元にしたフォームやレポート上のテキストボックスのコントロールソースを下記のように設定します。
|
94
98
|
|
95
99
|
|
96
100
|
|
97
|
-
```
|
98
|
-
|
99
|
-
=[時間計] \ 60 & "時間" & Format([時間計] Mod 60, "00") & "分"
|
100
|
-
|
101
|
-
```
|
102
|
-
|
103
|
-
この式だと例えば、35時間17分 というよう
|
101
|
+
この式だと例えば、35時間17分 というような24時間以上の表示も可能です。
|
104
102
|
|
105
103
|
日付/時刻型ではこの表示は無理です。
|
3
誤字修正
test
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
```
|
42
42
|
|
43
|
-
クエリ名は Qry1
|
43
|
+
クエリ名は Qry1 と仮定します。
|
44
44
|
|
45
45
|
このクエリをフォームのレコードソースとします。このフォームで
|
46
46
|
|
2
説明追記
test
CHANGED
@@ -14,6 +14,92 @@
|
|
14
14
|
|
15
15
|
分単位の数値を hh時nn分という書式で表示するには、
|
16
16
|
|
17
|
-
`[時間] \ 60 & "
|
17
|
+
`[時間] \ 60 & "時" & [時間] Mod 60 & "分"`
|
18
18
|
|
19
19
|
というような式で変換します。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
---
|
24
|
+
|
25
|
+
Accessで時間を扱う場合の一例を提示しておきます。
|
26
|
+
|
27
|
+
(一つの例ですので他の方法もあります。)
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
テーブルに 開始時刻, 終了時刻 という日付/時刻型のフィールドがあるとします。
|
32
|
+
|
33
|
+
このテーブルからクエリを作成します。テーブル名は Tbl1 と仮定してます。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
```sql
|
38
|
+
|
39
|
+
SELECT Tbl1.*, DateDiff("n",[開始時刻],[終了時刻]) As 時間 From Tbl1;
|
40
|
+
|
41
|
+
```
|
42
|
+
|
43
|
+
クエリ名は Qry1 は仮定します。
|
44
|
+
|
45
|
+
このクエリをフォームのレコードソースとします。このフォームで
|
46
|
+
|
47
|
+
開始時間:8:00
|
48
|
+
|
49
|
+
終了時間:8:17
|
50
|
+
|
51
|
+
と入力すると時間には、17 と分単位の数値が表示されます。
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
開始時間:8:00
|
56
|
+
|
57
|
+
終了時間:10:17
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
だと、137 と表示されます。137分という意味です。
|
62
|
+
|
63
|
+
これを、2時間17分と表示させたい場合は、テキストボックスを配置して、コントロールソースを下記のように設定します。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
```
|
68
|
+
|
69
|
+
=[時間] \ 60 & "時間" & Format([時間] Mod 60, "00") & "分"
|
70
|
+
|
71
|
+
```
|
72
|
+
|
73
|
+
ここまでVBAは必要ありません。
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
この時間を集計クエリで集計したい場合もあると思います。その場合も時間を集計します。
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
```sql
|
82
|
+
|
83
|
+
Select Sum([時間]) As 時間計 From Qry1;
|
84
|
+
|
85
|
+
```
|
86
|
+
|
87
|
+
上記のクエリは全合計をだすように単純化してますが、必要に応じてグループ化してください。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
上記も分単位の合計ですので、hh時間nn分表示にするには、上記と同様に式を使います。
|
92
|
+
|
93
|
+
集計クエリを元にしたフォームやレポート上のテキストボックスのコントロールソースを下記のように設定します。
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
```
|
98
|
+
|
99
|
+
=[時間計] \ 60 & "時間" & Format([時間計] Mod 60, "00") & "分"
|
100
|
+
|
101
|
+
```
|
102
|
+
|
103
|
+
この式だと例えば、35時間17分 というように24時間以上の表示も可能です。
|
104
|
+
|
105
|
+
日付/時刻型ではこの表示は無理です。
|
1
書式改善、式の間違い修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
例えば、開始時刻 終了時刻 というのがあってそこから時間を計算する場合は、Datediff("
|
11
|
+
例えば、開始時刻 終了時刻 というのがあってそこから時間を計算する場合は、`Datediff("n",[開始時刻],[終了時刻])` という式で分単位の時間に変換できます。これを集計することになります。
|
12
12
|
|
13
13
|
|
14
14
|
|