[VBA] オブジェクトが閉じている場合は、操作は許可されません。



ADO にてストアドを呼び出した際に、呼び出しは成功し、戻り値も返ってくるにもかかわらず Recordset の接続が切断されてしまうエラーに遭遇。
原因は、ストアド側で SET NOCOUNT ON; 以前に Select や Insert などの処理を行っていたためだった。

SET NOCOUNT ON; に設定すると、クライアント側に処理された行数を返却しないので、ネットワークの帯域も圧迫しないらしい。
これはクライアント側への通知設定であるので、@@ROWCOUNT 関数は更新される。

SET NOCOUNT (Transact-SQL) - msdn

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック