[ Joja82 @ 25.08.2008. 14:12 ] @
Imam jedno pitanje interesuje me kako da iz Sql-a 2000 iskopiram podatke u excel celije preko ado konekcije VB kodom?

Ja imam ADO konekciju i to mi sve radi, I napravim upit u VB za sql i nece nista da mi iskopira. Jel neko mozda imao slican problem?
[ Jpeca @ 25.08.2008. 14:55 ] @
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
[ Joja82 @ 25.08.2008. 17:21 ] @
Hvala Peco najlepse, sutra cu probati u firmi pa javljam sta sam uradio!!!
[ Joja82 @ 26.08.2008. 12:33 ] @
Samo da kazem da sam odustao od VB koda i da sam napravio u export podataka preko DTS tool-a u SQL-u.

Puno pozdrava!
[ 3okc @ 25.09.2009. 17:29 ] @
Možda si mogao da završiš uz namensku f-ju SQL.REQUEST().

Citat:
SQL.REQUEST

Vrši povezivanje sa spoljnim izvorom podataka i pokreće upit iz radnog lista. SQL.REQUEST zatim daje rezultat kao niz bez potrebe za makro programiranjem. Ako ova funkcija nije dostupna, morate da instalirate Microsoft Excel ODBC programski dodatak (XLODBC.XLA). Programski dodatak možete da instalirate sa Microsoft Office Web lokacije.

Sintaksa

SQL.REQUEST(connection_string;output_ref;driver_prompt;query_text;col_names_logical)


Kompletno objašnjenje imaš tu
http://office.microsoft.com/sr-latn-cs/excel/HP052092672074.aspx