0

这是我的存储过程的输出代码:

SELECT  *
FROM 
(
    select q.ccypair, q.vega, t.label 
    from #parallel q 
    LEFT JOIN TPRR_vega_weights t ON q.Tenor = t.Tenor
) a
PIVOT 
(
    Sum(Vega)  
    for a.label in ([t1],[t2],[t3],[t4],[t5],[t6],[t7],[t8],[t9],[t10],[t11],[t12],[t13],[t14],[t15],[t16],[t17],[t18])
)p
order by ccypair

在 SQL Server Management Studio 中工作正常,但是当我尝试在 Excel VBA 中打开它时,我得到了一个关闭的 ADODB.Recordset(我使用 vanilla select * from x 查询测试了相同的代码,这很好)。

有任何想法吗?

4

2 回答 2

1

最后,这不是导致问题的关键,它只是未能在存储过程中设置 NOCOUNT ON

于 2009-12-14T16:25:24.387 回答
0

我的想法是 ADO 不知道如何正确处理数据透视语句。如果您在哪里使用 DAO,我会说使用直通查询,不需要或 ADO 中的选项。

你能把你的sql语句放在一个存储过程中并调用存储过程吗?这种方式 ado 只使用返回的数据。

于 2009-12-11T15:35:53.033 回答