Cześć,
Napisałem kilka linijek które mają pomóc mi w pobraniu wyfiltrowanych danych z bazy do listbox'a. Niestety pobrane dane zamiast w postaci wierszy wyświetlają mi się pod postacią kolumn (poniżej pokazałem o co mi chodzi).
Powinno być
Jest
Uwzględniłem w kodzie możliwość transponowania array'a który otrzymuję, jednak wyświetla mi się błąd "Run-time error '381': Could not set List property. Invalid property array index".
Czy jesteście w stanie pomóc mi znaleźć rozwiązanie problemu? Poniżej mój kod (podświetliłem linijkę gdzie jest błąd):
Private Sub filtrSQL()
Dim Cn As ADODB.Connection
Dim Server_Name As String
Dim Database_Name As String
Dim SQLStr As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim list As Object
Set list = UserForm1.lstData
Server_Name = nazwa serwera
Database_Name = nazwa bazy
SQLStr = "select X1,X2,X3,Opis,Model,isNull(Szer#,'') from [XYZ_database$] where X1 like '%" & UserForm1.cobX1& "%' and X2 like '%" & UserForm1.txtbX2 & "%' and X3 like '%" & UserForm1.cobX3 & "%' and Opis like '%" & UserForm1.txtbOpis & "%' and Model like '%" & UserForm1.txtbModel & "%' and [Szer#] like '%" & UserForm1.txtbSzer & "%'"
With list
.ColumnHeads = True
.ColumnCount = 6
.ColumnWidths = "100;100;100;100;100;100"
.MultiSelect = fmMultiSelectExtended
Dim arr As Variant
arr = rs.GetRows
.list = Application.WorksheetFunction.Transpose("arr") ' problematyczna linijka
End With
rs.Close
Cn.Close
Set rs = Nothing
Set Cn = Nothing
End Sub
Wielkie dzięki za pomoc :)