質問編集履歴

1

2020/08/13 01:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,131 +1,3 @@
1
- 現在VB.NETで、SQLで呼び出したレコードを1行ずつテキストファイルに出力する機能を作成しております。
1
+ こちらの質問は削除済みのものとなっております。
2
2
 
3
-
4
-
5
- テーブルとカラムの内容は、以下の通りです。
6
-
7
-
8
-
9
- TESTテーブル
10
-
11
-
12
-
13
- ID(キー)
14
-
15
- LiNo(キー)
16
-
17
- Link
18
-
19
- Status
20
-
21
- Art
22
-
23
- Class
24
-
25
- Section
26
-
27
-
28
-
29
-
30
-
31
- 流れとしては、
32
-
33
- Classの値がYのものを呼び出す。
34
-
35
- テキストファイルに出力する。
36
-
37
- 出力後、Linkの値を+にして更新する。
38
-
39
- ものになります。
3
+ よろしくお願ます。
40
-
41
-
42
-
43
- 例として、以下のテーブルを使用します。
44
-
45
-
46
-
47
-
48
-
49
- ![イメージ説明](b274a1b991df5cc3fa64fe8a8c3d64e4.png)
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
- キーが1つの場合ですと、ForEachを用いたコードでアップデートできるました。
58
-
59
- 1行ずつ出力する際に、ListにIDを追加して、ループさせています。
60
-
61
- (一部コメントアウトしているのですがご理解ください。)
62
-
63
-
64
-
65
- For Each ID As String In IDList
66
-
67
- .ID.Value = CntID
68
-
69
- 'SQLのレコードが見つかれば
70
-
71
- .Link.Value = "+"
72
-
73
- 'アップデート
74
-
75
- Next
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
- ただしこちらは複合主キーのテーブルのため、同様の方法をとると思い通りに動作しません。
84
-
85
- 1つのIDの中で、リストにしたLiNoがループしてしまい以下の画像のようになってしまいます。
86
-
87
-
88
-
89
- For Each ID As String In IDList
90
-
91
- .ID.Value = CntID
92
-
93
- For Each LiNo As String In LiList
94
-
95
- .LiNo.Value = LiNo
96
-
97
- 'SQLのレコードが見つかれば
98
-
99
- .Link.Value = "+"
100
-
101
- 'アップデート
102
-
103
- Next
104
-
105
- Next
106
-
107
-
108
-
109
-
110
-
111
- ![イメージ説明](3e9b7e32cd827e8af2fbccd9fd72c837.png)
112
-
113
-
114
-
115
- (ClassがYのもののみを呼び出しているにもかかわらず、Nの行にも+が入ってしまっています。)
116
-
117
-
118
-
119
-
120
-
121
- 最終的には、下記画像のようになるようにしたいです。
122
-
123
-
124
-
125
- ![イメージ説明](dd4f00f3d8848d4d593e58ec309630bd.png)
126
-
127
-
128
-
129
-
130
-
131
- 断片的な情報で申し訳ございません。ご回答のほど、よろしくお願いいたします。