Element kann nicht gefunden werden in der Auflistung entsprechenden auf den angeforderten Namen oder Ordinalzahl

Den code unten funktioniert nicht auf diese gespeicherte Prozedur. Es funktioniert auf Abfragen, und andere gespeicherte Prozedur.

Wird es nicht Debuggen.drucken Sie die Werte für diese gespeicherte Prozedur, und wieder die Fehlermeldung "Element kann nicht gefunden werden in der Auflistung entsprechenden auf den angeforderten Namen oder Ordinalzahl"

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
  • Fügen Sie eine Uhr auf y und einige debugging. Die eror Nachricht vielleicht zeigt an, dass das recordset nicht mindestens 4 Felder...
  • Was ist der Wert von y.Felder.Zählen, wenn es um die debug-Zeile??
  • null. es sollten 10 sein...
  • Dann klingt es für mich so, das problem ist in der gespeicherten Prozedur und nicht diesen code.
  • die gespeicherte Prozedur funktioniert gut in SSMS. ich habe auch getestet, eine weitere parametrisierte gespeicherte Prozedur, die funktioniert..
  • Und diese gespeicherte Prozedur, die intern gibt eine Tabelle in der gleichen Weise wie "eine andere gespeicherte Prozedur", die Sie getestet?
  • ja.
  • was ist eine Uhr, und wie kann ich es hinzufügen?
  • Eine Uhr zeigt den Wert einer Formel oder einem Ausdruck, während Sie den code Debuggen. Es kann auch festgelegt werden, zu brechen, wenn der Ausdruck true ist. Debug --> Hinzufügen-Uhr
  • Wenn Sie führen Sie es in SSMS werden Sie sich mit der gleichen Windows-Anmeldeinformationen Zugriff auf log-in, wie der aktuelle domain-Benutzer?
  • ja. Ich denke, das problem kann in den Parametern... IDK, wenn VBA mag die '0' als parameter, obwohl es gut mit dem anderen storedproc habe ich getestet. Ich habe gelesen, Sie sind wirklich verwenden sollte Command-Objekten für parametized Abfragen. Ist das das Problem?
  • Ich verwende Command-Objekte, wenn ich es tun, also während ich denke, die Art und Weise Sie es tun sollten funktioniert, kann ich nicht sicher sagen, ob wir es machen können, ohne ein Command-Objekt. Scheint, wie es sollte, aber ich glaube nicht, dass ich je gemacht habe, das es so ist.

InformationsquelleAutor user2989981 | 2014-07-07
Schreibe einen Kommentar