質問編集履歴

4

タグを変更

2018/05/10 08:12

投稿

bako
bako

スコア6

test CHANGED
File without changes
test CHANGED
File without changes

3

何度もすみません。使い方がよくわかってませんでした。```で括りました。

2018/05/10 08:12

投稿

bako
bako

スコア6

test CHANGED
File without changes
test CHANGED
@@ -18,9 +18,331 @@
18
18
 
19
19
  ```VBA
20
20
 
21
+
22
+
23
+
24
+
25
+ 'レコードセットを取得
26
+
27
+ Set adoRsWeb = New ADODB.Recordset
28
+
29
+ adoRsWeb.CursorLocation = adUseClient 'RecordCountの取得に設定が必要
30
+
31
+
32
+
33
+ '"配列に設定した団体番号を1件ずつSQLを実行し、データが取得されるかチェックする
34
+
35
+ '(受付システム側にアップロード先となる団体番号のデータが存在しているか確認する作業)
36
+
37
+ For intArray = 0 To MaxArray
38
+
39
+
40
+
41
+ '配列の値が空白でない場合に処理をする
42
+
43
+ If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
44
+
45
+
46
+
47
+ 'SQLの作成
48
+
49
+ strSQLWeb = "select * from S20 where DANTAINO in ('" & strCheckNoUketukeUpSakiAll(intArray) & "')"
50
+
51
+
52
+
53
+ 'レコードセットを取得
54
+
55
+ adoRsWeb.Open strSQLWeb, adoConWeb, adOpenStatic, adLockReadOnly
56
+
57
+
58
+
59
+ 'データが取得された場合
60
+
61
+ If adoRsWeb.RecordCount = 0 Then
62
+
63
+ Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー有"
64
+
65
+ Sheets("ツール").Cells(intArray + StartRowNo, ColError).Value = "受付システムに団体番号がありません"
66
+
67
+ 'データが取得されなかった場合(ここでは、"エラー無"に設定)
68
+
69
+ ElseIf adoRsWeb.RecordCount <> 0 And _
70
+
71
+ strCheckNoUketukeUpSakiAll(intArray) = adoRsWeb!DANTAINO And _
72
+
73
+ Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "受付エラー無" Then
74
+
75
+ Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー無"
76
+
77
+ End If
78
+
79
+
80
+
81
+ '"ツール"Sheetにアップロード先の団体番団を設定
82
+
83
+ '(UPLOADSAKIGROUPIDにデータがある場合のみ設定、無い場合は空欄)
84
+
85
+ Sheets("ツール").Cells(intArray + StartRowNo, ColUpsaki).Value = strCheckNoUketukeUpSakiDiffer(intArray)
86
+
87
+
88
+
89
+ 'レコードセットを閉じる
90
+
91
+ adoRsWeb.Close
92
+
93
+
94
+
95
+ End If
96
+
97
+
98
+
99
+ Next intArray
100
+
101
+
102
+
103
+ DBConnectCheck
104
+
105
+
106
+
107
+
108
+
109
+ 'MS SQLServer側のレコードセットを定義
110
+
111
+ Set adoRsPass = New ADODB.Recordset
112
+
113
+
114
+
115
+ Dim passCheck As String
116
+
117
+ Dim passWeb As String
118
+
119
+
120
+
121
+ For intArray = 0 To MaxArray
122
+
123
+
124
+
125
+ '配列の値が空白でない場合に処理をする
126
+
127
+ If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
128
+
129
+
130
+
131
+ '----------------------------------------------
132
+
133
+ 'ここから追加
134
+
135
+ 'SQLの作成
136
+
137
+ strDis = "SELECT T_GroupAccessKey.GroupID, T_GroupAccessKey.BranchNo, T_GroupAccessKey.AccessKeyCD, T_GroupAccessKey.AccessKeyKind, T_GroupAccessKey.AccessKey, T_GroupAccessKey.ApprovalFlag, T_GroupAccessKey.UpdateName, T_GroupAccessKey.UpdateDate, T_Group.DispatchKbn FROM T_GroupAccessKey LEFT JOIN T_Group ON (T_GroupAccessKey.BranchNo = T_Group.BranchNo) AND (T_GroupAccessKey.GroupID = T_Group.GroupID) WHERE (((T_Group.DispatchKbn)<>''))"
138
+
139
+ 'ここまで
140
+
141
+ '----------------------------------------------
142
+
143
+
144
+
145
+ '---- MS SQLServer側(団体アクセスキーテーブル)
146
+
147
+ 'SQLの作成
148
+
149
+ '-----------------------------------------------
150
+
151
+ ' strSQLCheck = " select * from T_GroupAccessKey " _
152
+
153
+ ' & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
154
+
155
+ ' & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
156
+
157
+ ' & " AND AccessKeyKind = '1'"
158
+
159
+ ' & " AND AccessKeyCD = '28' AND AccessKeyKind = '1'"
160
+
161
+ '-----------------------------------------------
162
+
163
+
164
+
165
+ '----------------------------------------------
166
+
167
+ 'ここから追加
168
+
169
+ strSQLCheck = " select * from strDis " _
170
+
171
+ & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
172
+
173
+ & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
174
+
175
+ & " AND AccessKeyKind = '1'"
176
+
177
+ 'ここまで
178
+
179
+ '----------------------------------------------
180
+
181
+
182
+
183
+ 'レコードセットを取得
184
+
185
+ adoRsPass.Open strSQLCheck, adoConCheck, adOpenStatic, adLockReadOnly
186
+
187
+
188
+
189
+ '---- Oracle 側(団体情報マスタ)
190
+
191
+ 'SQLの作成
192
+
193
+ strSQLWeb = "select * from S20 where DANTAINO = '" & strCheckNoUketukeUpSakiAll(intArray) & "'"
194
+
195
+
196
+
197
+ 'レコードセットを取得
198
+
199
+ adoRsWeb.Open strSQLWeb, adoConWeb, adOpenStatic, adLockReadOnly
200
+
201
+
202
+
203
+ 'T_GroupAccessKey、S20 双方のパスワードを突合せ
204
+
205
+
206
+
207
+ '判定フラグ(パスワード一致=1)
208
+
209
+ hanteiFlg = 0
210
+
211
+ Do While Not adoRsPass.EOF
212
+
213
+
214
+
215
+ Do While Not adoRsWeb.EOF
216
+
217
+
218
+
219
+ passWeb = adoRsWeb!SEKININSHAPSW
220
+
221
+ passCheck = adoRsPass!AccessKey
222
+
223
+
224
+
225
+ If passWeb = passCheck Then
226
+
227
+
228
+
229
+ hanteiFlg = 1
230
+
231
+
232
+
233
+ End If
234
+
235
+ adoRsWeb.MoveNext
236
+
237
+
238
+
239
+ Loop
240
+
241
+ adoRsPass.MoveNext
242
+
243
+
244
+
245
+ Loop
246
+
247
+
248
+
249
+ 'レコードセットを閉じる
250
+
251
+ adoRsPass.Close
252
+
253
+ adoRsWeb.Close
254
+
255
+
256
+
257
+ 'パスワードが一致した場合
258
+
259
+ If hanteiFlg = 1 Then
260
+
261
+
262
+
263
+ Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー無"
264
+
265
+ Sheets("ツール").Cells(intArray + StartRowNo, ColError).Value = ""
266
+
267
+ Sheets("ツール").Cells(intArray + StartRowNo, 7).Value = ""
268
+
269
+ Sheets("ツール").Cells(intArray + StartRowNo, 8).Value = ""
270
+
271
+
272
+
273
+ Else
274
+
275
+
276
+
277
+ If Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー無" Then
278
+
279
+
280
+
281
+ Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー有"
282
+
283
+ Sheets("ツール").Cells(intArray + StartRowNo, ColError).Value = "受付システムのパスワードが違います"
284
+
285
+ Sheets("ツール").Cells(intArray + StartRowNo, 7).Value = passWeb
286
+
287
+ Sheets("ツール").Cells(intArray + StartRowNo, 8).Value = passCheck
288
+
289
+
290
+
291
+ End If
292
+
293
+
294
+
295
+ End If
296
+
297
+
298
+
299
+ End If
300
+
301
+
302
+
303
+ Next intArray
304
+
305
+
306
+
307
+ DBDisConnectCheck
308
+
309
+
310
+
311
+ With Application
312
+
313
+ .ScreenUpdating = True
314
+
315
+ .EnableEvents = True
316
+
317
+ .Calculation = xlCalculationAutomatic
318
+
319
+ End With
320
+
321
+
322
+
323
+ 'DBの切断
324
+
325
+ DBDisConnectUketuke
326
+
327
+ DBDisConnectWeb
328
+
329
+
330
+
331
+ MsgBox "処理が完了しました"
332
+
333
+
334
+
335
+ End Sub
336
+
337
+
338
+
21
339
  ```
22
340
 
341
+
342
+
343
+ ###修正前
344
+
23
- **MS SQLServer側のレコードセットを定義**
345
+ ``` 'MS SQLServer側のレコードセットを定義
24
346
 
25
347
  Set adoRsPass = New ADODB.Recordset
26
348
 
@@ -36,309 +358,87 @@
36
358
 
37
359
 
38
360
 
39
- **配列の値が空白でない場合に処理をする**
361
+ '配列の値が空白でない場合に処理をする
362
+
363
+ If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
364
+
365
+
366
+
367
+
368
+
369
+ '---- MS SQLServer側(団体アクセスキーテーブル)
370
+
371
+ 'SQLの作成
372
+
373
+ '-----------------------------------------------
374
+
375
+ strSQLCheck = " select * from T_GroupAccessKey " _
376
+
377
+ & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
378
+
379
+ & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
380
+
381
+ & " AND AccessKeyKind = '1'"
382
+
383
+ '-----------------------------------------------
384
+
385
+ ```
386
+
387
+ ###修正後
388
+
389
+ ```
390
+
391
+ 'MS SQLServer側のレコードセットを定義
392
+
393
+ Set adoRsPass = New ADODB.Recordset
394
+
395
+
396
+
397
+ Dim passCheck As String
398
+
399
+ Dim passWeb As String
400
+
401
+
402
+
403
+ For intArray = 0 To MaxArray
404
+
405
+
406
+
407
+ '配列の値が空白でない場合に処理をする
40
408
 
41
409
  If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
42
410
 
43
411
 
44
412
 
45
- **----------------------------------------------**
46
-
47
- **ここから追加**
48
-
49
- **SQLの作成**
50
-
51
- strDis = "SELECT T_GroupAccessKey.GroupID, T_GroupAccessKey.BranchNo,
52
-
53
- T_GroupAccessKey.AccessKeyCD, T_GroupAccessKey.AccessKeyKind, T_GroupAccessKey.AccessKey,
54
-
55
- T_GroupAccessKey.ApprovalFlag, T_GroupAccessKey.UpdateName, T_GroupAccessKey.UpdateDate,
56
-
57
- T_Group.DispatchKbn FROM T_GroupAccessKey
58
-
59
- LEFT JOIN T_Group ON (T_GroupAccessKey.BranchNo = T_Group.BranchNo) AND
60
-
61
- (T_GroupAccessKey.GroupID = T_Group.GroupID) WHERE (((T_Group.DispatchKbn)<>''))"
62
-
63
- **ここまで**
64
-
65
- **----------------------------------------------**
66
-
67
-
68
-
69
- **---- MS SQLServer側(団体アクセスキーテーブル)**
70
-
71
- **SQLの作成**
72
-
73
- **-----------------------------------------------**
74
-
75
- **ここから追加**
413
+ 'SQLの作成
414
+
415
+ strDis = "SELECT T_GroupAccessKey.GroupID, T_GroupAccessKey.BranchNo, T_GroupAccessKey.AccessKeyCD, T_GroupAccessKey.AccessKeyKind, T_GroupAccessKey.AccessKey, T_GroupAccessKey.ApprovalFlag, T_GroupAccessKey.UpdateName, T_GroupAccessKey.UpdateDate, T_Group.DispatchKbn FROM T_GroupAccessKey LEFT JOIN T_Group ON (T_GroupAccessKey.BranchNo = T_Group.BranchNo) AND (T_GroupAccessKey.GroupID = T_Group.GroupID) WHERE (((T_Group.DispatchKbn)<>''))"
416
+
417
+
418
+
419
+ '---- MS SQLServer側(団体アクセスキーテーブル)
420
+
421
+ 'SQLの作成
422
+
423
+ '-----------------------------------------------
76
424
 
77
425
  strSQLCheck = " select * from strDis " _
78
426
 
79
427
  & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
80
428
 
81
- & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod
82
-
83
- where CONVERT(varchar,current_timestamp,112)
84
-
85
- between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
429
+ & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
86
430
 
87
431
  & " AND AccessKeyKind = '1'"
88
432
 
89
- **ここまで**
90
-
91
- **----------------------------------------------**
433
+ '----------------------------------------------
92
-
434
+
435
+
436
+
93
- **レコードセットを取得**
437
+ 'レコードセットを取得
94
438
 
95
439
  adoRsPass.Open strSQLCheck, adoConCheck, adOpenStatic, adLockReadOnly
96
440
 
97
-
98
-
99
- **---- Oracle 側(団体情報マスタ)**
100
-
101
- **SQLの作成**
102
-
103
- strSQLWeb = "select * from S20 where DANTAINO = '" & strCheckNoUketukeUpSakiAll(intArray) & "'"
104
-
105
-
106
-
107
- **レコードセットを取得**
108
-
109
- adoRsWeb.Open strSQLWeb, adoConWeb, adOpenStatic, adLockReadOnly
110
-
111
-
112
-
113
- **T_GroupAccessKey、S20 双方のパスワードを突合せ**
114
-
115
-
116
-
117
- **判定フラグ(パスワード一致=1)**
118
-
119
- hanteiFlg = 0
120
-
121
- Do While Not adoRsPass.EOF
122
-
123
-
124
-
125
- Do While Not adoRsWeb.EOF
126
-
127
-
128
-
129
- passWeb = adoRsWeb!SEKININSHAPSW
130
-
131
- passCheck = adoRsPass!AccessKey
132
-
133
-
134
-
135
- If passWeb = passCheck Then
136
-
137
-
138
-
139
- hanteiFlg = 1
140
-
141
-
142
-
143
- End If
144
-
145
- adoRsWeb.MoveNext
146
-
147
-
148
-
149
- Loop
150
-
151
- adoRsPass.MoveNext
152
-
153
-
154
-
155
- Loop
156
-
157
-
158
-
159
- **レコードセットを閉じる**
160
-
161
- adoRsPass.Close
162
-
163
- adoRsWeb.Close
164
-
165
-
166
-
167
- **パスワードが一致した場合**
168
-
169
- If hanteiFlg = 1 Then
170
-
171
-
172
-
173
- Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー無"
174
-
175
- Sheets("ツール").Cells(intArray + StartRowNo, ColError).Value = ""
176
-
177
- Sheets("ツール").Cells(intArray + StartRowNo, 7).Value = ""
178
-
179
- Sheets("ツール").Cells(intArray + StartRowNo, 8).Value = ""
180
-
181
-
182
-
183
- Else
184
-
185
-
186
-
187
- If Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー無" Then
188
-
189
-
190
-
191
- Sheets("ツール").Cells(intArray + StartRowNo, ColUmu).Value = "エラー有"
192
-
193
- Sheets("ツール").Cells(intArray + StartRowNo, ColError).Value = "受付システムのパスワードが違います"
194
-
195
- Sheets("ツール").Cells(intArray + StartRowNo, 7).Value = passWeb
196
-
197
- Sheets("ツール").Cells(intArray + StartRowNo, 8).Value = passCheck
198
-
199
-
200
-
201
- End If
202
-
203
-
204
-
205
- End If
206
-
207
-
208
-
209
- End If
210
-
211
-
212
-
213
- Next intArray
214
-
215
-
216
-
217
- DBDisConnectCheck
218
-
219
-
220
-
221
- With Application
222
-
223
- .ScreenUpdating = True
224
-
225
- .EnableEvents = True
226
-
227
- .Calculation = xlCalculationAutomatic
228
-
229
- End With
230
-
231
-
232
-
233
- **DBの切断**
234
-
235
- DBDisConnectUketuke
236
-
237
- DBDisConnectWeb
238
-
239
-
240
-
241
- MsgBox "処理が完了しました"
242
-
243
-
244
-
245
- End Sub
246
-
247
-
248
-
249
- ###修正前
250
-
251
- **MS SQLServer側のレコードセットを定義**
252
-
253
- Set adoRsPass = New ADODB.Recordset
254
-
255
-
256
-
257
- Dim passCheck As String
258
-
259
- Dim passWeb As String
260
-
261
-
262
-
263
- For intArray = 0 To MaxArray
264
-
265
-
266
-
267
- **配列の値が空白でない場合に処理をする**
268
-
269
- If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
270
-
271
-
272
-
273
-
274
-
275
- **---- MS SQLServer側(団体アクセスキーテーブル)**
276
-
277
- **SQLの作成**
278
-
279
- **-----------------------------------------------**
280
-
281
- strSQLCheck = " select * from T_GroupAccessKey " _
282
-
283
- & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
284
-
285
- & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
286
-
287
- & " AND AccessKeyKind = '1'"
288
-
289
- **-----------------------------------------------**
290
-
291
- ###修正後
292
-
293
- **MS SQLServer側のレコードセットを定義**
294
-
295
- Set adoRsPass = New ADODB.Recordset
296
-
297
-
298
-
299
- Dim passCheck As String
300
-
301
- Dim passWeb As String
302
-
303
-
304
-
305
- For intArray = 0 To MaxArray
306
-
307
-
308
-
309
- **配列の値が空白でない場合に処理をする**
310
-
311
- If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
312
-
313
-
314
-
315
- **SQLの作成**
316
-
317
- strDis = "SELECT T_GroupAccessKey.GroupID, T_GroupAccessKey.BranchNo, T_GroupAccessKey.AccessKeyCD, T_GroupAccessKey.AccessKeyKind, T_GroupAccessKey.AccessKey, T_GroupAccessKey.ApprovalFlag, T_GroupAccessKey.UpdateName, T_GroupAccessKey.UpdateDate, T_Group.DispatchKbn FROM T_GroupAccessKey LEFT JOIN T_Group ON (T_GroupAccessKey.BranchNo = T_Group.BranchNo) AND (T_GroupAccessKey.GroupID = T_Group.GroupID) WHERE (((T_Group.DispatchKbn)<>''))"
318
-
319
-
320
-
321
- **---- MS SQLServer側(団体アクセスキーテーブル)**
322
-
323
- **SQLの作成**
324
-
325
- **-----------------------------------------------**
326
-
327
- strSQLCheck = " select * from strDis " _
328
-
329
- & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
330
-
331
- & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
332
-
333
- & " AND AccessKeyKind = '1'"
334
-
335
- **----------------------------------------------**
336
-
337
-
338
-
339
- **レコードセットを取得**
340
-
341
- adoRsPass.Open strSQLCheck, adoConCheck, adOpenStatic, adLockReadOnly
441
+ ```
342
442
 
343
443
  ### 補足情報(FW/ツールのバージョンなど)
344
444
 

2

修正したsauceを載せました。

2018/05/10 08:10

投稿

bako
bako

スコア6

test CHANGED
File without changes
test CHANGED
@@ -244,13 +244,101 @@
244
244
 
245
245
  End Sub
246
246
 
247
- ### 試したこと
248
-
249
-
250
-
251
- ここに問題に対して試したこと記載してください。
252
-
253
-
247
+
248
+
249
+ ###修正前
250
+
251
+ **MS SQLServer側のレコードセット定義**
252
+
253
+ Set adoRsPass = New ADODB.Recordset
254
+
255
+
256
+
257
+ Dim passCheck As String
258
+
259
+ Dim passWeb As String
260
+
261
+
262
+
263
+ For intArray = 0 To MaxArray
264
+
265
+
266
+
267
+ **配列の値が空白でない場合に処理をする**
268
+
269
+ If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
270
+
271
+
272
+
273
+
274
+
275
+ **---- MS SQLServer側(団体アクセスキーテーブル)**
276
+
277
+ **SQLの作成**
278
+
279
+ **-----------------------------------------------**
280
+
281
+ strSQLCheck = " select * from T_GroupAccessKey " _
282
+
283
+ & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
284
+
285
+ & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
286
+
287
+ & " AND AccessKeyKind = '1'"
288
+
289
+ **-----------------------------------------------**
290
+
291
+ ###修正後
292
+
293
+ **MS SQLServer側のレコードセットを定義**
294
+
295
+ Set adoRsPass = New ADODB.Recordset
296
+
297
+
298
+
299
+ Dim passCheck As String
300
+
301
+ Dim passWeb As String
302
+
303
+
304
+
305
+ For intArray = 0 To MaxArray
306
+
307
+
308
+
309
+ **配列の値が空白でない場合に処理をする**
310
+
311
+ If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
312
+
313
+
314
+
315
+ **SQLの作成**
316
+
317
+ strDis = "SELECT T_GroupAccessKey.GroupID, T_GroupAccessKey.BranchNo, T_GroupAccessKey.AccessKeyCD, T_GroupAccessKey.AccessKeyKind, T_GroupAccessKey.AccessKey, T_GroupAccessKey.ApprovalFlag, T_GroupAccessKey.UpdateName, T_GroupAccessKey.UpdateDate, T_Group.DispatchKbn FROM T_GroupAccessKey LEFT JOIN T_Group ON (T_GroupAccessKey.BranchNo = T_Group.BranchNo) AND (T_GroupAccessKey.GroupID = T_Group.GroupID) WHERE (((T_Group.DispatchKbn)<>''))"
318
+
319
+
320
+
321
+ **---- MS SQLServer側(団体アクセスキーテーブル)**
322
+
323
+ **SQLの作成**
324
+
325
+ **-----------------------------------------------**
326
+
327
+ strSQLCheck = " select * from strDis " _
328
+
329
+ & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
330
+
331
+ & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
332
+
333
+ & " AND AccessKeyKind = '1'"
334
+
335
+ **----------------------------------------------**
336
+
337
+
338
+
339
+ **レコードセットを取得**
340
+
341
+ adoRsPass.Open strSQLCheck, adoConCheck, adOpenStatic, adLockReadOnly
254
342
 
255
343
  ### 補足情報(FW/ツールのバージョンなど)
256
344
 

1

使い方が分からずすみません。コメントアウトは太字にしました。コードは見やすいように改行しました。

2018/05/10 06:43

投稿

bako
bako

スコア6

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,11 @@
16
16
 
17
17
  ### 該当のソースコード
18
18
 
19
+ ```VBA
20
+
21
+ ```
22
+
19
- 'MS SQLServer側のレコードセットを定義
23
+ **MS SQLServer側のレコードセットを定義**
20
24
 
21
25
  Set adoRsPass = New ADODB.Recordset
22
26
 
@@ -32,87 +36,85 @@
32
36
 
33
37
 
34
38
 
35
- '配列の値が空白でない場合に処理をする
39
+ **配列の値が空白でない場合に処理をする**
36
40
 
37
41
  If strCheckNoUketukeUpSakiAll(intArray) <> "" Then
38
42
 
39
43
 
40
44
 
41
- '----------------------------------------------
42
-
43
- 'ここから追加
44
-
45
- 'SQLの作成
46
-
47
- strDis = "SELECT T_GroupAccessKey.GroupID, T_GroupAccessKey.BranchNo, T_GroupAccessKey.AccessKeyCD, T_GroupAccessKey.AccessKeyKind, T_GroupAccessKey.AccessKey, T_GroupAccessKey.ApprovalFlag, T_GroupAccessKey.UpdateName, T_GroupAccessKey.UpdateDate, T_Group.DispatchKbn FROM T_GroupAccessKey LEFT JOIN T_Group ON (T_GroupAccessKey.BranchNo = T_Group.BranchNo) AND (T_GroupAccessKey.GroupID = T_Group.GroupID) WHERE (((T_Group.DispatchKbn)<>''))"
48
-
49
- 'ここまで
50
-
51
- '----------------------------------------------
52
-
53
-
54
-
55
- '---- MS SQLServer側(団体アクセスキーテーブル)
56
-
57
- 'SQLの作成
58
-
59
- '-----------------------------------------------
60
-
61
- ' strSQLCheck = " select * from T_GroupAccessKey " _
62
-
63
- ' & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
64
-
65
- ' & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
66
-
67
- ' & " AND AccessKeyKind = '1'"
68
-
69
- ' & " AND AccessKeyCD = '28' AND AccessKeyKind = '1'"
70
-
71
- '-----------------------------------------------
72
-
73
- '----------------------------------------------
74
-
75
- 'ここから追加
45
+ **----------------------------------------------**
46
+
47
+ **ここから追加**
48
+
49
+ **SQLの作成**
50
+
51
+ strDis = "SELECT T_GroupAccessKey.GroupID, T_GroupAccessKey.BranchNo,
52
+
53
+ T_GroupAccessKey.AccessKeyCD, T_GroupAccessKey.AccessKeyKind, T_GroupAccessKey.AccessKey,
54
+
55
+ T_GroupAccessKey.ApprovalFlag, T_GroupAccessKey.UpdateName, T_GroupAccessKey.UpdateDate,
56
+
57
+ T_Group.DispatchKbn FROM T_GroupAccessKey
58
+
59
+ LEFT JOIN T_Group ON (T_GroupAccessKey.BranchNo = T_Group.BranchNo) AND
60
+
61
+ (T_GroupAccessKey.GroupID = T_Group.GroupID) WHERE (((T_Group.DispatchKbn)<>''))"
62
+
63
+ **ここまで**
64
+
65
+ **----------------------------------------------**
66
+
67
+
68
+
69
+ **---- MS SQLServer(団体アクセスキーテーブル)**
70
+
71
+ **SQLの作成**
72
+
73
+ **-----------------------------------------------**
74
+
75
+ **ここから追加**
76
76
 
77
77
  strSQLCheck = " select * from strDis " _
78
78
 
79
79
  & " where CONCAT(GroupId,BranchNo) = '" & strCheckNoUketukeUpSakiAll(intArray) & "'" _
80
80
 
81
- & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod where CONVERT(varchar,current_timestamp,112) between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
81
+ & " AND AccessKeyCD = (select AccessKeyCD from M_AccessKeyPeriod
82
+
83
+ where CONVERT(varchar,current_timestamp,112)
84
+
85
+ between CONVERT(varchar,accesskeyfrom,112) and CONVERT(varchar,accesskeyto,112) )" _
82
86
 
83
87
  & " AND AccessKeyKind = '1'"
84
88
 
85
- 'ここまで
89
+ **ここまで**
86
-
90
+
87
- '----------------------------------------------
91
+ **----------------------------------------------**
88
-
89
-
90
-
92
+
91
- 'レコードセットを取得
93
+ **レコードセットを取得**
92
94
 
93
95
  adoRsPass.Open strSQLCheck, adoConCheck, adOpenStatic, adLockReadOnly
94
96
 
95
97
 
96
98
 
97
- '---- Oracle 側(団体情報マスタ)
99
+ **---- Oracle 側(団体情報マスタ)**
98
-
100
+
99
- 'SQLの作成
101
+ **SQLの作成**
100
102
 
101
103
  strSQLWeb = "select * from S20 where DANTAINO = '" & strCheckNoUketukeUpSakiAll(intArray) & "'"
102
104
 
103
105
 
104
106
 
105
- 'レコードセットを取得
107
+ **レコードセットを取得**
106
108
 
107
109
  adoRsWeb.Open strSQLWeb, adoConWeb, adOpenStatic, adLockReadOnly
108
110
 
109
111
 
110
112
 
111
- 'T_GroupAccessKey、S20 双方のパスワードを突合せ
113
+ **T_GroupAccessKey、S20 双方のパスワードを突合せ**
112
-
113
-
114
-
114
+
115
+
116
+
115
- '判定フラグ(パスワード一致=1)
117
+ **判定フラグ(パスワード一致=1)**
116
118
 
117
119
  hanteiFlg = 0
118
120
 
@@ -154,7 +156,7 @@
154
156
 
155
157
 
156
158
 
157
- 'レコードセットを閉じる
159
+ **レコードセットを閉じる**
158
160
 
159
161
  adoRsPass.Close
160
162
 
@@ -162,7 +164,7 @@
162
164
 
163
165
 
164
166
 
165
- 'パスワードが一致した場合
167
+ **パスワードが一致した場合**
166
168
 
167
169
  If hanteiFlg = 1 Then
168
170
 
@@ -228,7 +230,7 @@
228
230
 
229
231
 
230
232
 
231
- 'DBの切断
233
+ **DBの切断**
232
234
 
233
235
  DBDisConnectUketuke
234
236