tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル コンボボックスの内容をコピーしたい
投稿日: 2006/01/11(Wed) 17:21
投稿者ひろ
[OSのVer]:WindowsXp  [VBのVer]:VB.NET2003

テーブル名の一覧を取得して (Oracle10g , ADO)
Form上のComboBox (cboTableA, cboTableB, cboTableC) に格納しようとしています。

rsWork.MoveFirst()     '取得したテーブル名一覧
Do While rsWork.EOF = False
    cboTableA.Items.Add(rsWork.Fields("TABLE_NAME").Value)
    cboTableB.Items.Add(rsWork.Fields("TABLE_NAME").Value)
    cboTableC.Items.Add(rsWork.Fields("TABLE_NAME").Value)
    rsWork.MoveNext()
Loop

上記で実現はできるのですが、自分的になんかすっきりしません。

ループの中では cboTableA にセットして、
最終的に内容を cboTableB, cboTableC にコピーできれば・・・と考えています。

.Items まで入力すると 入力候補の中に CopyTo があったので、調べてみました。
・・・が、ぴんと来ません。

<< Help の抜粋 >>
このメソッドを使用して、複数のコレクションの項目を 1 つの配列に結合できます。その後、この配
列を使用し、 ComboBox.ObjectCollection クラスの AddRange メソッドを使用して、別の ComboBox
コントロールの内容を代入できます。

この方法を取ってみようと考えたのです。

Dim objWork() As Object

cboTableA.Items.CopyTo(objWork, 0)
cboTableB.Items.AddRange(objWork)
cboTableC.Items.AddRange(objWork)

上記だと、「配列をNullにすることはできません。 dest 」のエラーが表示されます。

全く検討はずれな事をしているのでしょうか?
アドバイス頂けると助かります。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。