|
2007/09/07(Fri) 14:12:50 編集(投稿者) 2007/09/07(Fri) 14:12:45 編集(投稿者) 2007/09/07(Fri) 14:12:39 編集(投稿者) ■No7518 (Mr.T さん) に返信 > 2007/09/07(Fri) 13:53:37 編集(投稿者) > > Mr.Tです、こんにちは。 > > >>Cmd.CommandType = adCmdStoredProcの部分でエラーコード500が出ていることがわかりました。 > >>現在、これが何ものかを調査中です。 >>⇒エラーコード500の内容は"この変数は宣言されていません"の内容のエラーでした。 >>Cmd.ActiveConnection = objConn、Cmd.CommandText = Sqlではこのエラーはでていないようなのですが、Cmd.CommandType = adCmdStoredProcの部分のみ、このエラーがでてしまいます。 > > おや、 > 「adCmdStoredProc」 > ここではないですか? > > CommandTypeの値は、CommandTypeEnumなので、その実体は数値です。 > VBなんかだと参照設定しているのでそのまま使えるのですが、VBSでは参照設定できないので、自前で設定する必要があります。 > > Const adCmdStoredProc = 4 >
そのとおりですね。ありがとうございました。
ちなみに以下のロジックでうまくいきました。 'コマンドオブジェクト Set Cmd = CreateObject("ADODB.Command") Sql = "DAICHOU_EXPORT" Cmd.ActiveConnection = objConn Cmd.CommandType = 4 Cmd.CommandText = Sql 'パラメータオブジェクト Set Param = CreateObject("ADODB.Parameter") '数値型は3、戻り値は4 Set param = Cmd.CreateParameter("@return", 3, 4) Cmd.Parameters.Append param '文字型は200、IN変数は1 Set param = Cmd.CreateParameter("@DATE_S", 200, 1, 20) Cmd.Parameters.Append param Cmd.Parameters("@DATE_S") =DATE_S MsgBox Cmd.Parameters("@DATE_S").VALUE '文字型は200、IN変数は1 Set param = Cmd.CreateParameter("@DATE_E", 200, 1, 20) Cmd.Parameters.Append param Cmd.Parameters("@DATE_E") =DATE_E
'数値側は3、OUT変数は2 Set param = Cmd.CreateParameter("@ret",3, 2) Cmd.Parameters.Append param Cmd.Parameters("@ret") = 0 '//ストアドプロシージャ実行 Cmd.Execute '// 取得結果を表示 MsgBox Cmd.Parameters("@ret").Value MsgBox Cmd.Parameters("@return").Value
|