初めましてお世話になります。
現在送り状作成アクセスを作成しております。
その中にある伝票番号テーブルの送付フラグコード=1のレコードの9番目のフィールドであるアドレスフィールドのレコードを変数の中にレコードの分だけ追加していきたいと考えております。
例えば変数をSTR(string型)とします。
送付フラグコード=1のレコードが伝票番号テーブルの中に3レコードありアドレスフィールドがすべてのレコードに記載されている場合、
STR=アドレス1アドレス2アドレス3
という形で格納したいと考えております。
このSTRの中に入っている文字列を利用して後々outlookの宛先であるTOに代入してメールを作成したいという目的があります。
vbaのコードとしては
1.Private Sub mailbtn_Click()
2.Dim RS As ADODB.Recordset
3.Dim CN As ADODB.Connection
4.Dim STR As String
5.Set CN = CurrentProject.Connection
6.Set RS = New ADODB.Recordset
7.Set RS = CN.Execute("伝票番号テーブル")
8.RS.Filter = "送付フラグコード=1"
9.Do Until RS.EOF
10. STR = RS.Fields(9)
11. RS.MoveNext
12. STR = STR+STR
13.Loop
14.RS.Close: CN.Close
15.Set RS = Nothing
16.Set CN = Nothing
17.End Sub
と最初に書いたのですが12行目が間違っており送付フラグコードが1の最後のレコードのアドレスが2回連続して代入されいているだけでした。
例えるなら"AA”のようにA+Aという感じになるだけでした。
do until ~Loopの使用例としてdebug.printを活用しているものが多いのですがそれだとイミディエイトウィンドウに
A
B
C
と記載されるだけで目的が果たせません。
私が理想とするのは
STR=ABC
という結果なのです。
12行目を削除するとSTR=Cと最終レコードのアドレスフィールドの文字にしかなりません・・・。
どなたか理想的な文字を取得する方法ご存じありませんでしょうか?
大変お手数ですがご教授お願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。