Impossible de trouver l'objet dans la collection correspondant au nom demandé ou ordinale

Le code ci-dessous ne fonctionne pas sur cette procédure stockée. Il fonctionne sur les requêtes, et d'une autre procédure stockée.

Il ne sera pas de débogage.imprimer les valeurs de cette procédure stockée, et retourne un message d'erreur "impossible de trouver l'objet dans la collection correspondant au nom demandé ou ordinal"

Dim x As ADODB.Connection
Set x = New ADODB.Connection

x.ConnectionString = "Provider=a;Server=b;Database=c;Trusted_Connection=yes;"
x.Open

Dim y As ADODB.Recordset
Set y = New ADODB.Recordset
x.CommandTimeout = 0

Set y = x.Execute("exec SP_storedprocedure 0")
Debug.Print y(0), y(1), y(2), y(3)**--the problem is here**

y.Close
Set y = Nothing
x.Close
Set x = Nothing
  • Ajouter une alerte sur y et faire un peu de débogage. Le eror message indique peut-être que le jeu n'a pas au moins 4 champs...
  • Quelle est la valeur de y.Champs.Le comte quand il arrive à la ligne de débogage??
  • zéro. il doit être de 10...
  • Ensuite, il me semble que le problème est dans la procédure stockée et non pas de ce code.
  • la procédure stockée fonctionne très bien dans SSMS. j'ai aussi testé une autre procédure stockée paramétrée qui fonctionne..
  • Et cette procédure stockée en interne renvoie un tableau de la même manière que "un autre procédure stockée" que vous avez testé?
  • oui.
  • qu'est ce qu'une montre, et comment puis-je ajouter?
  • Une montre affiche la valeur d'une formule ou d'une expression tout en vous déboguer votre code. Il peut également être définie sur arrêt lorsque l'expression est vraie. Debug --> Ajouter un espion
  • Lorsque vous l'exécutez dans SSMS êtes-vous de vous connecter avec les mêmes informations d'identification Windows Accès à l'aide pour ouvrir une session dans le domaine actuel de l'utilisateur?
  • oui. Je pense que le problème peut être dans les paramètres... IDK si VBA aime le " 0 " en tant que paramètre, bien qu'il s'en est très bien avec les autres storedproc que j'ai testé. J'ai lu que vous êtes censé utiliser les objets de Commande pour parametized requêtes. Est-ce la question?
  • J'utilise des objets de Commande quand je le fais alors que je pense que la façon dont vous le faites, il doit travailler, je ne peux pas dire pour sûr que nous pouvons le faire fonctionner sans un objet de Commande. Semble comme il faut mais je ne pense pas que j'ai jamais fait de cette façon.

InformationsquelleAutor user2989981 | 2014-07-07