【问题标题】:Looping through the ADO fields collection in VBA with an empty recordset使用空记录集循环遍历 VBA 中的 ADO 字段集合
【发布时间】:2012-07-30 14:09:53
【问题描述】:

我有一个 ADO 记录集,它不返回任何行(这是预期的),但我的手表面板显示了一个有效的字段集合,其中包含我想要存储/捕获的列名。

但是,使用类似

的代码
x = rs.Fields(idx) 

返回错误“3021”:BOF 或 EOF 为 True。请求的操作需要当前记录。

我的问题是是否可以阅读 Fields 集合(注意我可以在手表面板中看到的内容是正确的以及我希望能够抓取的内容),如果没有,什么是“陷阱”这解释了为什么?

非常感谢 迈克

【问题讨论】:

    标签: excel vba ado recordset


    【解决方案1】:

    您需要姓名:

    x = rs.Fields(idx).Name
    

    Field(idx)是值,不存在。

    【讨论】:

    • 感谢@Remou - 这引起了一些混乱!
    • 哇,这也确实造成了混乱。我认为如果我处于 EOF 状态,我什至无法获得字段,更不用说它的名称了,这会导致我的 ADO Recordset 包装类出现问题。默认属性,它们是邪恶的!
    猜你喜欢
    • 2016-07-16
    • 2023-01-12
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多