2016-06-24 8 views
1

Wie Daten aus einem Re-Cord-Set in einem Listobject auffüllen? Der Code ist unten nicht vollständig arbeiten:vba listobject CopyFromRecordset

oCN.ConnectionString = "DRIVER={SQL Server};Server=SRVSQL;Database=TEST;" 
oCN.Open 
Dim sqlString As String 
sqlString = "SELECT * FROM MYTABLE" 
oRS.Open sqlString, oCN 

With Feuil3.ListObjects("TableArticles") 
    If Not .DataBodyRange Is Nothing Then 
     .DataBodyRange.Delete 
    End If 

    ' This make a 91 error 
    Call .DataBodyRange.CopyFromRecordset(oRS) 
    ' This copy data into sheet, not into listobject 
    Call Feuil3.Range("A2").CopyFromRecordset(oRS) 
End With 

Antwort

1

Schließlich fand ich die Lösung. Passen Sie die Größe des Listenobjekts an den Inhalt an:

With Feuil3.ListObjects("TableArticles") 
    If Not .DataBodyRange Is Nothing Then 
     .DataBodyRange.Delete 
    End If 

    Call .Range(2, 1).CopyFromRecordset(oRS) 
    Call .Resize(Feuil3.UsedRange) 
End With 
Verwandte Themen