2016-06-24 2 views
1

Как заполнить данные из набора записей в список? Приведенный ниже код не является полностью рабочим: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 

ответ

1

Наконец я нашел решение. Просто измените размер списка в соответствии с содержанием:

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 
Смежные вопросы