2010-08-23 5 views
1

J'essaie d'obtenir resultset de SQL 2008 sproc dans Excel 2003 en utilisant VBA.Excel 2003 VBA ne parvient pas à appeler le sproc SQL avec des tables temporaires

Il a travaillé pour quelques sprocs mais quand j'ai essayé celui qui utilise la table temporaire ou table des variables VBA échoue avec err 3704 « l'opération n'est pas autorisée lorsque l'objet est fermé » sur la ligne suivante:

Sheet1.Range("A2").CopyFromRecordset rsMyDB 

Si je commente sélectionner dans la variable de table/table temporaire le même VBA fonctionne très bien.

La référence ADO I dans le module VBA - "Data Objects MS ActiveX 2.8 Library"

SQL comme suit:

.Open "EXEC SprocWithTempTable '20100810', '20100811'" 

Répondre

2

Ajouter SET NOCOUNT ON au début de la proc SQL et il devrait obtenir par.

+0

vous avez raison !. –