如何从 adodb 记录集中访问存储过程中的变量?

Posted

技术标签:

【中文标题】如何从 adodb 记录集中访问存储过程中的变量?【英文标题】:How to access variable in stored proc from adodb recordset? 【发布时间】:2017-03-24 18:50:26 【问题描述】:

我正在从我的存储过程中的前一个 select 语句返回记录计数。如果我使用此存储过程通过 ADODB 记录集填充 Excel 宏,如何访问 Excel 中的“RecordCount”字段?

存储过程:

set @EndDate = DateAdd(ss,-1,DateAdd(dd,1,@EndDate))

select
    Fields
from
    dbo.Table
where
    Field between @StartDate and @EndDate
order by
    Field desc

select @@ROWCOUNT AS 'RecordCount'

返回这个:

 Field Names
 -----------
 Data

 RecordCount
 -----------
 36

我想在 VBA 的这行代码中使用 RecordCount 字段:

Dim recCount As Long
recCount = "RecordCount" Field

【问题讨论】:

【参考方案1】:

看起来你需要 Range 属性:

Dim recCount As Long
 recCount = Range("RecordCount").Value 

如果您需要读取另一张纸的值,您会这样做:

Sheets("Sheet2").Range("A1").Value

see reference

【讨论】:

我没有在 Excel 单元格中返回此 RecordCount 字段。我想知道如何从存储过程中获取这个值。在我的选择查询结果之后返回它。所以我猜你可以说它在一个单独的数据集中而不是我的选择结果? 您的问题是,“如何访问 Excel 中的“RecordCount”字段?为什么我会因为回答所问的问题而被否决?原帖有一个 vba 标签。

以上是关于如何从 adodb 记录集中访问存储过程中的变量?的主要内容,如果未能解决你的问题,请参考以下文章