Da li si proverio da tekst upita koji dobiješ u kodu vraća neki rezultat?
Evo kod koji ja standardno koristim, ali najbolje da postaviš svoj kod pa da pogledamo u čemu je problem.
Code:
Sub UpitSQL (param1 As String)
'
Dim oConn As ADODB.Connection
Dim sConn As String
Dim oRS As ADODB.Recordset
Dim oRSKupac As ADODB.Recordset
Dim sSQL As String ' tekst upita
Dim r As Long
r = 2 ' red za pocetak liste podataka
' Otvaranje konekcije
sConn = "Provider=sqloledb;" & _
"Data Source=" & SQLSERVER & ";" & _
"Initial Catalog=" & SQLBAZA & ";" & _
"User Id=" & SQLUSER & ";" & _
"Password=" & SQLPASS
Set oConn = New ADODB.Connection
oConn.ConnectionString = sConn
oConn.Open
' Formiranje upita
sSQL = "SELECT A, B FROM Tabela WHERE C = " & param1 ' Ovde formirati upit
' Ucitavanje podataka za upit
Set oRS = oConn.Execute(sSQL)
' Petlja za prolazak kroz ucitanje vrednost
Application.Cursor = xlWait
Do Until oRS.EOF
ActiveSheet.Cells(r, 1).Value = oRS(1)
ActiveSheet.Cells(r, 2).Value = oRS(2)
oRS.MoveNext
r = r + 1
Loop
' Zatvaranje konekcije
oRS.Close
Set oRS = Nothing
oConn.Close
Set oConn = Nothing
Application.Cursor = xlDefault
End Sub
Moguć je i alternativni način uvoza podatak u Excel kreiranjem dinamičkog upita (data query) pomoću iz interfejsa ili vba
http://www.dicks-clicks.com/excel/ExternalData.htm