Popolare la casella di riepilogo userform di Excel con i dati di query – la casella di riepilogo è vuota

Sto tentando di popolare una listbox in una forma di utente in un documento excel da una query al server SQL, ma la casella di riepilogo è sempre vuota.

Sto cercando di get un elenco di posizioni da popolare che utilizzerò per definire i parametri per un follow on query.

Ecco il mio codice:

Option Explicit Sub Populate_ListBox_From_SQL() Dim cnt As ADODB.Connection Dim rst As ADODB.Recordset Dim stDB As String, stConn As String, stSQL As String Dim xlCalc As XlCalculation Dim vaData As Variant Dim k As Long 'set SQL connection and connection string Set cnt = New ADODB.Connection stConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DW;Data Source=use-rptdw-00;Use Procedure for Prepare=1;Auto Translate=True;" _ & "Packet Size=4096;Workstation ID=PI-L-C03RTRD;Use Encryption for Data=False;Tag with column collation when possible=False" cnt.ConnectionString = stConn 'your SQL statement stSQL = "SELECT ldesc FROM fin.location ORDER BY ldesc" With cnt .CursorLocation = adUseClient 'Necesary for creating disconnected recordset. .Open stConn 'Open connection. 'Instantiate the Recordsetobject and execute the SQL-state. Set rst = .Execute(stSQL) End With With rst Set .ActiveConnection = Nothing 'Disconnect the recordset. k = .Fields.Count 'Populate the arrays with the whole recordset. vaData = .GetRows End With 'Close the connection. cnt.Close 'Manipulate the Listbox's properties and show the form. With UserForm1 With .ComboBox1 .Clear .BoundColumn = k .List = Application.Transpose(vaData) .ListIndex = -1 End With .Show vbModeless End With 'Release objects from memory. Set rst = Nothing Set cnt = Nothing End Sub 

Forse posso mettere il codice nel posto sbagliato? Ho sotto il codice VBA base per l'utente. O forse devo impostare le properties; per il ListBox stesso?

Sono abbastanza nuovo per VBA in modo che qualsiasi aiuto sia apprezzato

Non import. L'avevo capito. Non stavo facendo una chiamata esplicita alla function. Anche se, ora ho "errore di run-time" 400: forma già visualizzata, non può mostrare modalmente "errore.

Hai idea di come smettere di accadere?