回答編集履歴

1

別案追加

2022/01/23 02:06

投稿

hatena19
hatena19

スコア33740

test CHANGED
@@ -1,7 +1,7 @@
1
1
  自己解決済みのようですが、、、
2
2
 
3
3
  現状
4
- ```VBA
4
+ ```vba
5
5
  Do Until RS.EOF
6
6
  STR = RS.Fields(9) 'フィールドの値をSTRに代入、例えば"A"とする
7
7
  RS.MoveNext
@@ -10,7 +10,7 @@
10
10
  ```
11
11
 
12
12
  ご希望の動作
13
- ```VBA
13
+ ```vba
14
14
  Do Until RS.EOF
15
15
  STR = STR & RS.Fields(9) 'STRの後にフィールドの値を付加してSTRに代入
16
16
  'すでにSTRに"AB"が代入されていてフィールドの値が"C"なら"ABC"が代入される
@@ -21,3 +21,25 @@
21
21
  ステップ実行で動作確認(デバッグ)する方法を習得するといいでしょう。
22
22
 
23
23
  [VBA デバッグの仕方](https://www.tipsfound.com/vba/01010)
24
+
25
+ 別案
26
+ ---
27
+ [GetStringメソッド](https://antonsan.net/vt/?page_id=406)を使えばループせずに一気に取得できます。
28
+ ```vba
29
+ Private Sub mailbtn_Click()
30
+ Dim RS As ADODB.Recordset
31
+ Dim CN As ADODB.Connection
32
+ Dim STR As String
33
+ Set CN = CurrentProject.Connection
34
+ Set RS = New ADODB.Recordset
35
+ Set RS = CN.Execute("SELECT アドレス FROM 伝票番号テーブル WHERE 送付フラグコード=1")
36
+ STR = RS.GetString(adClipString, , "", " ")
37
+ RS.Close: CN.Close
38
+ Set RS = Nothing
39
+ Set CN = Nothing
40
+
41
+ Debug.Print STR '結果確認
42
+ End Sub
43
+ ```
44
+
45
+