Pergunta

Aqui está o código do meu proc armazenado saída:

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

funciona bem no SQL Server Management Studio, mas eu recebo um fechado ADODB.Recordset quando tento abri-lo no Excel VBA (eu testei o mesmo código com uma baunilha SELECT * FROM x consulta e que era bom).

Todas as idéias?

Foi útil?

Solução

No final, não foi o pivô causando o problema, foi apenas falta de SET NOCOUNT ON no procedimento armazenado

Outras dicas

O meu pensamento é que ADO não há como lidar com a declaração pivot corretamente. Se você onde usando DAO eu diria que usar uma consulta de passagem, não é necessário ou uma opção no ADO.

Você é capaz de colocar a sua instrução SQL em um procedimento armazenado e chamar o procedimento armazenado? Desta forma ado só é trabalhar com os dados retornados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top