Announcement

Collapse
No announcement yet.

Recordset in Tabellenblatt kopieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Recordset in Tabellenblatt kopieren

    Hi, ich habe folgendes Problem.

    Um einen Select von einer Datenbank auf ein Tabellenblatt zu bringen benutze ich den unten stehenden Code.
    Das Problem ist das es ziemlich lange dauert bis die 2 Schleifen abgelaufen sind (2-3 sek. bei 1000 Zeilen) und das ganze dann in die Tabelle kopiert ist.
    Gibts da evtl eine andere Loesung um das zu beschleunigen ?

    Danke schonmal

    Gruss
    Heinz


    Public Sub ExportData(xlsSheet As Worksheet, sqlQuery As String, oraConnection As String)

    Dim Conn As New Connection
    Set Conn = New ADODB.Connection

    Conn.Open oraConnection
    Dim rs, i, counter
    Set rs = Conn.Execute(sqlQuery)
    For i = 0 To rs.Fields.Count - 1
    xlsSheet.Cells(1, i + 1).Value = rs.Fields.item(i).Name
    Next
    counter = 2
    Do Until rs.EOF
    For i = 0 To rs.Fields.Count - 1
    xlsSheet.Cells(counter, i + 1).Value = rs(i)
    Next
    counter = counter + 1
    rs.MoveNext
    Loop

    rs.Close
    Conn.Close
    Set rs = Nothing
    Set Conn = Nothing
    End Sub
Working...
X