- ベストアンサー
配列のつなげ方
配列をつなげて文字列にしたいと思っています。 Dim abc() As String Dim i As String Dim namae As String i=0 ここでDBに接続してループでまわしながらデータを取得してきます。 Do while y > z abc(i) = X i = i+1 loop Xはループがまわる毎に違う値がセットされます。例えば1回目のループでリンゴ、2回目のループでミカンといった具合にです。 つまり、abc(0)=リンゴ、abc(1)=ミカン、abc(2)=メロン といった具合にです。 最終的には namae="リンゴ、ミカン、メロン、・・・・"といった具合にnamaeに代入したいと思っています。namae = abc(0) & "," & abc(1) & ","....と やれば実現できるのはわかります。 Xにはデータがいくつはいっているかわかりません。どうやった式をたてれば、実現できるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
基本的には「ループで取得します」。 ・手法その1 iという変数をそのまま使います。あ、iはStringではなくIntegerまたはLongにしましょう。 Dim j As Long do while j<=i namae = namae + abc(j) + "," loop namae = Left(namae, Len(namae)-1) '末尾に余計についているカンマを取り除きます ・手法その2 上記のiがわからない場合。UBound関数を使って配列のサイズを確認します。 Dim j As Long do while j<=UBound(abc) namae = namae + abc(j) + "," loop namae = Left(namae, Len(namae)-1) '末尾に余計についているカンマを取り除きます UBound・Left・Lenそれぞれの意味は自分で調べてみましょう。配列・文字列操作では頻繁に使う関数なので覚えておいて損はありません。
その他の回答 (1)
- KG_
- ベストアンサー率62% (34/54)
VBのバージョンがわかりませんが。 VB6なら rename = Join(abc,"、") VB.Netなら同様のString.Joinがあります。
お礼
ありがとうございます!参考になります!!
お礼
ありがとうございます!実現できました!!