2016-08-01 10 views
0

Mein Code schlägt mit dem obigen Fehler fehl, wenn er die 4. Zeile des folgenden Codes erreicht. Ich habe das gleiche Format früher in meinem Programm verwendet und es funktioniert gut. Wenn mehr Code benötigt wird, um den Fehler zu beheben, würde ich gerne posten. Vielen Dank.Der Betrieb ist nicht erlaubt, wenn das Objekt geschlossen ist VBA

With rsTIP19 
.ActiveConnection = cnTIP 
.Open "exec usp_Service_Data_Query_QA" 
ThisWorkbook.Sheets("Service_Data").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).CopyFromRecordset rsTIP19 
.Close 
End With 
+0

Gibt Ihre gespeicherte Prozedur definitiv eine Ergebnismenge zurück? –

+0

@TimWilliams ja es funktioniert perfekt in sql – agfila

Antwort

1

Was ist der Zweck der exec? Sie sollten für .BOF oder .EOF testen.

With rsTIP19 

    .ActiveConnection = cnTIP 
    .Open "usp_Service_Data_Query_QA" 
    If Not .BOF or .EOF then 
     ThisWorkbook.Sheets("Service_Data").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).CopyFromRecordset rsTIP19 
    End If 

    .Close 

End With 
+0

Ich bekomme den gleichen Fehler wie zuvor, wenn Sie diesen Code versuchen. – agfila

+0

Ich bin nicht sicher, warum Sie diesen Fehler in Zeile 4 erhalten würden. Ich würde denken, dass der Code auf ".Open" brechen sollte; wenn die Verbindung geschlossen wurde. –

Verwandte Themen