Я искал в Интернете пример кодов для заполнения ComboBox в UserForm (Excel) данными из запроса SQL и наткнулся на это:
Private Sub DieSearch_DropButtonClick()
'Declare Variables
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim stDB As String, stConn As String, stSQL As String
'Set database connection string. This connects excel with SQL database
Set cnt = New ADODB.Connection
stConn = "driver={SQL Server};server=server;database=SQL;uid=ID;pwd=ABCD"
With cnt
.Mode = adModeRead
.CursorLocation = adUseClient
.ConnectionString = stConn
.Open
End With
Set rst = New ADODB.Recordset
'SQL Query statement
stSQL = " select distinct [inv] from [SQL].[dbo].[ENTRY] order by [Inv]"
rst.Open stSQL, cnt
DieSearch.Clear
Do While Not rst.EOF
DieSearch.AddItem rst(0)
rst.MoveNext
Loop
'Release objects from memory.
rst.Close
Set rst = Nothing
cnt.Close
Set rst = Nothing
End Sub
Это мой код, который я изменил строка логина и SQL запрос. При тестировании я обнаружил, что хотя ComboBox может показывать данные, я не могу выбрать ни одну из них. Я все еще могу ввести текст в поле, но не могу выбрать из списка.
Я что-то упустил?