• 締切済み

DBカラムをコンボボックスに設定する方法

VB初心者ですみませんが、どなたか教えてください。 以下のようにADOにてDBのカラムからデータを取得し、コンボボックスに設定をしたいのですが、よくわかりません。 コンボボックスのはじめに空白→DBの項目を設定→最後に”なし”を設定したいのですが、教えてください。 Dim adors As New ADODB.Recordset adors.Open "SELECT A_FIELD FROM TABLE",・・・・ If adors.RecordCount <> 0 Then ComboBOX.AddItem ("") 'コンボボックスのはじめに空白を設定 Set ComboBOX.RowSource = adors ComboBOX.MatchEntry = dblExtendedMatching ComboBOX.ListField = "A_FIELD" ComboBOX.AddItem ("なし") 'コンボボックスの終わりにに’なし’を設定 End If

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

お使いの VBは何でしょう? ComboBoxは標準のコンボボックスですか? 標準のコンボボックスなら RowSourceやListFieldはありません DBコンボならば AddItemが何ですし ・・・ その元のなっているadorsをコピーして最後の『なし』を追加したものを ComboBOXのRowSourceに設定でしょうね

strato_tt
質問者

お礼

ありがとうございました。 もう少し検討します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 同じコンボボックスを二つ以上作る方法

    今同じ内容を表示するコンボボックスを二つ作ろうと思っているのですがつくり方がわかりません。 どのようにすれば一つのプログラムで二つのコンボボックスを作れるのでしょうか 例: 表示では はい いいえ プログラム: Private Sub UserForm_Initialize() ComboBox1.AddItem "はい" ComboBox1.AddItem "いいえ" End Sub Private Sub UserForm_Initialize() ComboBox2.AddItem "はい" ComboBox2.AddItem "いいえ" End Sub ↑のような作り方ではなく簡略化して Private Sub UserForm_Initialize() ComboBox●.AddItem "はい" ComboBox●.AddItem "いいえ" End Sub ●部を変更できれば一つのプログラムでコンボボックスを2つ操作できると思うのですがどのようにすればよろしいでしょうか?

  • コンボボックスのクリア方法について教えて下さい(vb6.5)

    コンボボックスのクリア方法について教えて下さい(vb6.5) ComboBox1で選択したものによって、 ComboBox2で表示するものを変えたいと思っています。 ただ、一度ComboBox1で選択した後にComboBox2を開くと、 ComboBox2は前回のものがどんどん足されていきます。 コンボボックスのクリア方法について、 どの様にすればよいかご教示のほど、 宜しくお願い致します。 Private Sub ComboBox1_Change() UserForm1.ComboBox2.RemoveItem (0) If ComboBox1.Text = 1 Then UserForm1.ComboBox2.AddItem "A" UserForm1.ComboBox2.AddItem "B" UserForm1.ComboBox2.AddItem "C" ElseIf ComboBox1.Text = 2 Then UserForm1.ComboBox2.AddItem "D" UserForm1.ComboBox2.AddItem "E" UserForm1.ComboBox2.AddItem "F" Else UserForm1.ComboBox2.AddItem "G" UserForm1.ComboBox2.AddItem "H" UserForm1.ComboBox2.AddItem "I" End If End Sub -------------------------------------- Private Sub UserForm_Initialize() UserForm1.ComboBox1.AddItem "1" UserForm1.ComboBox1.AddItem "2" UserForm1.ComboBox1.AddItem "3" End Sub

  • VBAのコンボボックスのカラムについて

    以下のようにしてコンボボックスのカラムにも文字列が入るようにしております。 With ComboBox1 .AddItem "hogehoge" ComboBox1.List(0, 1) = "aiueo" End With これによってコンボボックスをクリックして出てくるリストにはhogehogeとaiueoの両方が 出てきますが、これを選択するとhogehogeだけがコンボボックスに残され、 (0,1)にあった文字列は消えてしまいます。 リストから選択した後もコンボボックス内にカラムの文字を残すにはどのようにすればよろしいでしょうか?(できれば区切りありで) よろしくお願いします。

  • Excel VBAでコンボボックスで選択

    コンボボックスで選択したいと思っていますがうまくいきません。 教えてください。 Private Sub userform_initialize()  With ComboBox2   .Font.Size = 12   .AddItem "A"   .AddItem "B"   .AddItem "C"  End With If ComboBox2 = "A" Then  With ComboBox3   .Font.Size = 12  .AddItem "a-1"  .AddItem "a-2"  End With ElseIf ComboBox2 = "B" Then With ComboBox3   .Font.Size = 12  .AddItem "b-1" .AddItem "b-2" End With Else: ComboBox2 = "C" With ComboBox3 .Font.Size = 12 .AddItem "c-1" .AddItem "c-2" End With End If End Sub コンボボックス2で"A"を選んだら、コンボボックス3には"a-1とa-2"の選択したい のですが、"c-1,c-2"しかでません。よろしくお願いします。

  • コンボボックスの設定で苦しんでます。。。by初心者

    Excelのコンボボックスに、項目を設定できずに苦しんでいます。 本にのっている通りに、 Private Sub UserForm1_Initialize() ComboBox1.AddItem"晴れ" ComboBox1.AddItem"雨" End Sub と、コードを書いているのに、実行してみると、コンボボックスをクリックしても何も項目が出てきません。 そこで、コードを直そうとすると、エラー音が鳴って、なぜか直せません。 わけがわかりません。どうしたらいいんでしょう。。。

  • Excel:VBAでコンボボックスを活用する方法

    はじめまして。Excel2000でアンケートシートを作りたいと思っています。 その回答をコンボボックスから選ぶようにしたいのですが、「違う質問だけど同じ選択肢」というのがたくさんあるので簡潔にしたいのです。 このサイト等ネットで調べるとコントロールに変数を持たせる方法として Control(ComboBox & i)とか Me(ComboBox & i) というのを目にしましたが、どちらもこの状態には該当しないのかうまくいきませんでした。 コンボボックスごとにソースを作るしかないのでしょうか? 理想としてはforループでコンボボックスの回数だけ回して、if文でComboBox1と3と4と7には○○○、2と5と6には△△△を表示するようにできたらいいなぁと思っています。 (あくまで理想のソースです。) For i = 1 To 30 If i = 1 Or 3 Or 4 Or 7 Then With ComboBox & i(←ここが知りたいです☆) .Clear .AddItem "非常に重要" .AddItem "重要" .AddItem "少し重要" .AddItem "重要ではない" End With ElseIf i = 2 Or 5 Or 6 Then With ComboBox & i(←ここが知りたいです☆) .Clear .AddItem "はい" .AddItem "いいえ" End With End If Next i いかがでしょうか?☆部分をどうにかすることで解決するのでしょうか?他に方法があったらぜひご教示ください。 そもそもコンボボックスの作り方にも自信がありません。 以前に少しだけVBを経験してますが、ほぼ初心者です。 よろしくお願い致します。

  • エクセル VBA if構文

    毎度お世話になります。 下記プログラミングですが、 シャーペンまたはボールペンがコンボボックス1で 選択された場合はコンボボックス2で10束または50束の選択肢となり 消しゴムまたはシャー芯がコンボボックス2で 選択された場合はコンボボックス2で100コまたは1000コの選択肢としたいのですが 他の方法がありますでしょうか。 宜しくお願い致します。 If Me.ComboBox1.Value = "シャーペン" Or Me.ComboBox1.Value = "ボールペン" Then ComboBox2.Style = fmStyleDropDownCombo ComboBox2.RowSource = "" ComboBox2.Clear ComboBox2.AddItem "10束" ComboBox2.AddItem "50束" ComboBox2.ListIndex = -1 End If If Me.ComboBox1.Value = "消しゴム" Or Me.ComboBox1.Value = "シャー芯" Then ComboBox2.Style = fmStyleDropDownCombo ComboBox2.RowSource = "" ComboBox2.Clear ComboBox2.AddItem "100コ" ComboBox2.AddItem "1000コ" ComboBox2.ListIndex = -1 End If

  • VBAを使用しコンボボックスにリストを設定する方法

    いつもお世話になっております。 現在コンボボックスにリストを設定する方法について悩んでいます。 バージョンはExcel2003です。 コンボボックスに指定したい列がA列とB列なら通常下記のようにすると思います。     With ComboBox1       .ColumnCount = 2       .ColumnWidths = "50;50"       .RowSource = "Sheet1!A2:B5"     End With ただ今回はA列とC列をリストに設定したいと思い、下記のような設定にしたのですがうまく設定できません。     With ComboBox1       .ColumnCount = 2       .ColumnWidths = "50;50"       .RowSource = "Sheet1!A2:A5;C2:C5"     End With そもそもRowSource は連続的なデータを設定する場合のプロパティだと思うのですが、このように飛んだ列のデータを効率的に指定するにはどのようにするのが一番いいのでしょうか? 分かる方がいっらしゃいましたらご教授願います。

  • コンボボックスにリストが表示されません・・・

    ユーザーフォーム(UserForm)にコンボボックス(ComboBox1)を作ってリストを入れました。 しかしユーザーフォームを実行してもコンボボックスに何もリストが出てきません。 なにが悪いのでしょうか?チュートリアルどおりにやっているのですが・・・(T T) Private Sub UserForm_Initialize() With ComboBox1 .AddItem "東京" .AddItem "名古屋" .AddItem "福岡" End With End Sub Windows2000+Excel2000です。

  • VBA コンボボックス項目追加?

    エクセル VBA コンボボックスの項目入荷についてですが 入力フォームを開いたときに Private Sub UserForm_Activate() ComboBox1.AddItem ("本社") ComboBox1.AddItem ("東京支社") ComboBox1.AddItem ("大阪支社") End sub のようにコンボボックスに項目をだすことはわかったのですが、 フォームをを開いたときにワークシートを全てを自動で 項目に表示する方法はありますでしょうか? 宜しくお願いいたします。