DBから値を配列として受けとるところまでは出来たのですが、コンボボックスに入れ込むことができません。
DBはSQLSERVER2014を使っています。
M_TANTOSHAテーブルからTANTOSHA_IDを取り出してコンボボックスに入れたいです。
VBA
1Sub conDB() 2 3 Dim db As New ADODB.Connection 4 Dim rs As New ADODB.Recordset 5 Dim strSQL As String 6 Dim CON As String 7 8 9 '↓DB接続情報 10 CON = "Provider = SQLOLEDB;" 11 CON = CON & "DATABASE=******;" 12 CON = CON & "UID=******;" 13 CON = CON & "PWD=*******;" 14 15 strSQL = "select TANTOSHA_ID from M_TANTOSHA" 16 17 Set rs = New ADODB.Recordset 18 19 rs.Open strSQL, CON 20 21 rs.MoveFirst 22 23 24 Dim i As Long, hairetsu As Variant 25 hairetsu = rs.GetRows() 26 27 rs.Close 28 29 For i = 0 To UBound(hairetsu, 2) 30 Debug.Print hairetsu(0, i) 31 Next i 32 33 Set rs = Nothing 34 Exit Sub 35 36End Sub 37
再投稿↓
VBA
1Private Sub ComboBox1_Change() 2Dim db As New ADODB.Connection 3 Dim rs As New ADODB.Recordset 4 Dim strSQL As String 5 Dim CON As String 6 7 8 9 'DB??????i?[ 10 CON = "Provider = SQLOLEDB;" 11 CON = CON & "DATABASE=****;" 12 CON = CON & "UID=*****;" 13 CON = CON & "PWD=*****;" 14 15 16 17 18 '1.SQL????o?????V?[?g???? 19 20 strSQL = "select TANTOSHA_ID from M_TANTOSHA" 21 22 Set rs = New ADODB.Recordset 23 24 rs.Open strSQL, CON 25 26 rs.MoveFirst 27 28 Dim i As Long, hairetsu As Variant 29 hairetsu = rs.GetRows 30 31 rs.Close 32 33 'このような感じで試していました。 34 '1行だけ表示されたり、何も表示されなかったりします。 35 ComboBox1.AddItem 36 ComboBox1.List(0, 1) = hairetsu(0, 1) 37 38 Set rs = Nothing 39 Exit Sub 40 41End Sub
回答1件
あなたの回答
tips
プレビュー