質問編集履歴
2
コードの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,10 +6,12 @@
|
|
6
6
|
それぞれ 20200501 を示しているはずのフィールドです。
|
7
7
|
|
8
8
|
Local\2
|
9
|
-
2: ??
|
9
|
+
2: ??
|
10
|
+
※コードは、前者「cmd移動情報追加」をご参照ください
|
10
11
|
|
11
12
|
MSysNavPaneGroupCategories
|
12
13
|
????邸???貝?????邸???貝
|
14
|
+
※コードは、後者「cmd集計」をご参照ください
|
13
15
|
|
14
16
|
このファイルでリレーションシップは利用していません。
|
15
17
|
解決にあたって行うべきことは何でしょうか。
|
@@ -17,4 +19,80 @@
|
|
17
19
|
必要な情報がありましたら、ご指摘ください。
|
18
20
|
|
19
21
|
※本質問は、Microsoftコミュニティでも同じ質問をしています。
|
20
|
-
できるだけ早く解決したく、ご了承いただければ幸いです。
|
22
|
+
できるだけ早く解決したく、ご了承いただければ幸いです。
|
23
|
+
|
24
|
+
```
|
25
|
+
Private Sub cmd移動情報追加()
|
26
|
+
Dim dbs As DAO.Database
|
27
|
+
Dim t_Idou As DAO.Recordset
|
28
|
+
Dim q_Idou As DAO.Recordset
|
29
|
+
Dim lngStart(1) As Long
|
30
|
+
Dim strCrit As String
|
31
|
+
Dim strID As String
|
32
|
+
|
33
|
+
Set dbs = Application.CurrentDb
|
34
|
+
Set t_Idou = dbs.OpenRecordset(Name:="移動対象_算定日", Type:=dbOpenDynaset)
|
35
|
+
Set q_Idou = dbs.OpenRecordset(Name:="Q_移動抽出", Type:=dbOpenDynaset)
|
36
|
+
|
37
|
+
Do Until q_Idou.EOF
|
38
|
+
If Not q_Idou(1) Like strID Then Erase lngStart()
|
39
|
+
strID = q_Idou(1)
|
40
|
+
|
41
|
+
lngStart(1) = CLng(Left(q_Idou(7), 8))
|
42
|
+
If lngStart(0) = 0 Then
|
43
|
+
strCrit = "T_NO Like '" & q_Idou(1) & "'"
|
44
|
+
Else
|
45
|
+
strCrit = "T_NO Like '" & q_Idou(1) & "' AND T_DATE >" & lngStart(0)
|
46
|
+
End If
|
47
|
+
|
48
|
+
t_Idou.FindFirst strCrit
|
49
|
+
Do Until t_Idou.NoMatch
|
50
|
+
t_Idou.Edit
|
51
|
+
|
52
|
+
' 以下の値の取得で突然終了する
|
53
|
+
If lngStart(1) > t_Idou(2) Then
|
54
|
+
t_Idou(0) = q_Idou(9)
|
55
|
+
Else
|
56
|
+
If q_Idou(12) = 0 Then
|
57
|
+
t_Idou(0) = q_Idou(4)
|
58
|
+
End If
|
59
|
+
End If
|
60
|
+
|
61
|
+
t_Idou.Update
|
62
|
+
t_Idou.FindNext strCrit
|
63
|
+
Loop
|
64
|
+
|
65
|
+
lngStart(0) = lngStart(1)
|
66
|
+
q_Idou.MoveNext
|
67
|
+
Loop
|
68
|
+
|
69
|
+
q_Idou.Close
|
70
|
+
t_Idou.Close
|
71
|
+
|
72
|
+
End Sub
|
73
|
+
```
|
74
|
+
```ここに言語を入力
|
75
|
+
Private Sub cmd集計()
|
76
|
+
Dim dbs As DAO.Database
|
77
|
+
Dim rs日 As DAO.Recordset
|
78
|
+
|
79
|
+
Set dbs = Application.CurrentDb
|
80
|
+
|
81
|
+
strSQL = "SELECT distinct Q_p_data.[T_KAIKEI_DATE]"
|
82
|
+
strSQL = strSQL & "FROM Q_p_data;"
|
83
|
+
Set rs日 = dbs.OpenRecordset(strSQL)
|
84
|
+
|
85
|
+
str日 = ""
|
86
|
+
Do Until rs日.EOF
|
87
|
+
' 以下の値の取得で突然終了する
|
88
|
+
str日 = str日 & Chr(34) & rs日.Fields(0) & Chr(34) & ","
|
89
|
+
rs日.MoveNext
|
90
|
+
Loop
|
91
|
+
str日 = Left(str日, (Len(str日) - 1))
|
92
|
+
|
93
|
+
rs日.Close
|
94
|
+
Set rs日 = Nothing
|
95
|
+
|
96
|
+
End Sub
|
97
|
+
|
98
|
+
```
|
1
表現の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
RecordSetでFieldsの値にアクセスすると、この現象が起きているようです。
|
3
3
|
|
4
4
|
|
5
|
-
たとえば以下のような
|
5
|
+
たとえば以下のような値を取得しています。
|
6
6
|
それぞれ 20200501 を示しているはずのフィールドです。
|
7
7
|
|
8
8
|
Local\2
|