質問編集履歴

2

コードの追加

2020/06/16 02:54

投稿

goulok
goulok

スコア12

test CHANGED
File without changes
test CHANGED
@@ -14,13 +14,17 @@
14
14
 
15
15
  Local\2
16
16
 
17
- 2: ??
17
+ 2: ??
18
+
19
+ ※コードは、前者「cmd移動情報追加」をご参照ください
18
20
 
19
21
 
20
22
 
21
23
  MSysNavPaneGroupCategories
22
24
 
23
25
  ????邸???貝?????邸???貝
26
+
27
+ ※コードは、後者「cmd集計」をご参照ください
24
28
 
25
29
 
26
30
 
@@ -37,3 +41,155 @@
37
41
  ※本質問は、Microsoftコミュニティでも同じ質問をしています。
38
42
 
39
43
   できるだけ早く解決したく、ご了承いただければ幸いです。
44
+
45
+
46
+
47
+ ```
48
+
49
+ Private Sub cmd移動情報追加()
50
+
51
+ Dim dbs As DAO.Database
52
+
53
+ Dim t_Idou As DAO.Recordset
54
+
55
+ Dim q_Idou As DAO.Recordset
56
+
57
+ Dim lngStart(1) As Long
58
+
59
+ Dim strCrit As String
60
+
61
+ Dim strID As String
62
+
63
+
64
+
65
+ Set dbs = Application.CurrentDb
66
+
67
+ Set t_Idou = dbs.OpenRecordset(Name:="移動対象_算定日", Type:=dbOpenDynaset)
68
+
69
+ Set q_Idou = dbs.OpenRecordset(Name:="Q_移動抽出", Type:=dbOpenDynaset)
70
+
71
+
72
+
73
+ Do Until q_Idou.EOF
74
+
75
+ If Not q_Idou(1) Like strID Then Erase lngStart()
76
+
77
+ strID = q_Idou(1)
78
+
79
+
80
+
81
+ lngStart(1) = CLng(Left(q_Idou(7), 8))
82
+
83
+ If lngStart(0) = 0 Then
84
+
85
+ strCrit = "T_NO Like '" & q_Idou(1) & "'"
86
+
87
+ Else
88
+
89
+ strCrit = "T_NO Like '" & q_Idou(1) & "' AND T_DATE >" & lngStart(0)
90
+
91
+ End If
92
+
93
+
94
+
95
+ t_Idou.FindFirst strCrit
96
+
97
+ Do Until t_Idou.NoMatch
98
+
99
+ t_Idou.Edit
100
+
101
+
102
+
103
+ ' 以下の値の取得で突然終了する
104
+
105
+ If lngStart(1) > t_Idou(2) Then
106
+
107
+ t_Idou(0) = q_Idou(9)
108
+
109
+ Else
110
+
111
+ If q_Idou(12) = 0 Then
112
+
113
+ t_Idou(0) = q_Idou(4)
114
+
115
+ End If
116
+
117
+ End If
118
+
119
+
120
+
121
+ t_Idou.Update
122
+
123
+ t_Idou.FindNext strCrit
124
+
125
+ Loop
126
+
127
+
128
+
129
+ lngStart(0) = lngStart(1)
130
+
131
+ q_Idou.MoveNext
132
+
133
+ Loop
134
+
135
+
136
+
137
+ q_Idou.Close
138
+
139
+ t_Idou.Close
140
+
141
+
142
+
143
+ End Sub
144
+
145
+ ```
146
+
147
+ ```ここに言語を入力
148
+
149
+ Private Sub cmd集計()
150
+
151
+ Dim dbs As DAO.Database
152
+
153
+ Dim rs日 As DAO.Recordset
154
+
155
+
156
+
157
+   Set dbs = Application.CurrentDb
158
+
159
+
160
+
161
+ strSQL = "SELECT distinct Q_p_data.[T_KAIKEI_DATE]"
162
+
163
+ strSQL = strSQL & "FROM Q_p_data;"
164
+
165
+ Set rs日 = dbs.OpenRecordset(strSQL)
166
+
167
+
168
+
169
+ str日 = ""
170
+
171
+ Do Until rs日.EOF
172
+
173
+ ' 以下の値の取得で突然終了する
174
+
175
+ str日 = str日 & Chr(34) & rs日.Fields(0) & Chr(34) & ","
176
+
177
+ rs日.MoveNext
178
+
179
+ Loop
180
+
181
+ str日 = Left(str日, (Len(str日) - 1))
182
+
183
+
184
+
185
+ rs日.Close
186
+
187
+ Set rs日 = Nothing
188
+
189
+
190
+
191
+ End Sub
192
+
193
+
194
+
195
+ ```

1

表現の修正

2020/06/16 02:54

投稿

goulok
goulok

スコア12

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- たとえば以下のようなものです。
9
+ たとえば以下のような値を取得しています。
10
10
 
11
11
  それぞれ 20200501 を示しているはずのフィールドです。
12
12