首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vba listobject CopyFromRecordset

vba listobject CopyFromRecordset
EN

Stack Overflow用户
提问于 2016-06-24 15:51:08
回答 2查看 3.9K关注 0票数 5

如何将记录集中的数据填充到列表对象中?下面的代码没有完全正常工作:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2019-05-29 23:34:05

如果总是先删除.DataBodyRange,可以使用`.InsertRowRange‘。

代码语言:javascript
复制
With Feuil3.ListObjects("TableArticles")
    If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
    .InsertRowRange.CopyFromRecordset(oRS)
End With
票数 4
EN

Stack Overflow用户

发布于 2016-06-24 17:54:55

最后我找到了解决方案。只需调整listobject的大小以适应内容:

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38008306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档