У меня есть пользовательская форма с 3 текстовыми полями, кнопкой поиска и списком.
Я создал строку соединения с сервером sql для поиска записей и установил ее в электронной таблице, но я хочу заполнить записи в списке вместо листа
это моя строка подключения (сохранить как макрос)
( Public Sub T()
'
'
'
Application.CutCopyMode = False
With ActiveWorkbook.Connections( _
"LOCALHOST_SQLEXPRESS (db_name)").OLEDBConnection
.BackgroundQuery = True
.CommandText = Array( _
"select * from ""db_name"".""dbo"".""'table_name'""" _
)
.CommandType = xlCmdSql
.Connection = Array( _
"OLEDB;Provider=SQLOLEDB.1;Password=123;Persist Security Info=false;User ID=abc;Initial Catalog=db_name;Data So" _
, _
"urce=LOCALHOST\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LOCALHOST" _
, _
"A;Use Encryption for Data=False;Tag with column collation when possible=False" _
)
.RefreshOnFileOpen = False
.SavePassword = True
.SourceConnectionFile = ""
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections( _
"LOCALHOST_SQLEXPRESS db_name")
.Name = "LOCALHOST_SQLEXPRESS db_name"
.Description = ""
End With
End Sub
, и я установил это в кнопке поиска:
dim searchwords as string
' the value will populate in c4
searchkeywords = Sheets("sheet_name").Range("C4").Value
With ActiveWorkbook.Connections("connection string_name").OLEDBConnection
.CommandText = "select * from [table_name] where column_name like '%" & searchkeywords & "%'"
ActiveWorkbook.Connections("connection string_name").Refresh
End With
Хорошо, теперь я хочу знать, как:
1 - заполнить результат поиска в списке вместо листа (vba)