私は古いMS-Access(2007)アプリケーションで作業しています(メンテナンス+変更)。現在の変更では、コード部分をselect * from
から単純なテーブル(1つのvarchar列のみ)を返すストアドプロシージャの呼び出しに変更します。ここでmsアクセスADO - ストアドプロシージャから返されたレコードセットを取得できません。
は、MS-Access内のコードの一部です:
:
Set Conn1 = CurrentProject.Connection
Set Cmd1 = New ADODB.Command
Cmd1.ActiveConnection = Conn1
Cmd1.CommandText = "p_Labels_Print"
Cmd1.CommandType = adCmdStoredProc
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Button_type", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Sampling_Request", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Place", adVarChar, adParamInput, 16)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Sampler_Code", adVarChar, adParamInput, 16)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Total_Copies", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Print_Option", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Print_Option", adVarChar, adParamInput, 16)
Cmd1.Parameters(0).Value = 2
Cmd1.Parameters(1).Value = 2878954
Cmd1.Parameters(2).Value = "0C9991"
Cmd1.Parameters(3).Value = 89029
Cmd1.Parameters(4).Value = 10
Cmd1.Parameters(5).Value = 1
Cmd1.Parameters(6).Value = "S-SAPTEST"
Set Rs1 = Cmd1.Execute()
' Process results from recordset, then close it.
:
Rs1.Close
:
今、私は私がにプロシージャ内からログインしていますので、手順が正しいパラメータ(および値で呼び出されていることを知っていますデバッグテーブル、と私はすべてのパラメータを受信し、(パラメータ「4」は、規定のように)返されたテーブルが正確に10個のレコードが含まれていることをされていることがわかり
返されるテーブルは次のようになります。
+------------------------------------------------------+
| One_Sticker |
+------------------------------------------------------+
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
|[email protected][email protected]@[email protected]@[email protected]@[email protected] |
+------------------------------------------------------+
MS-Access内では、ステートメントRs1.Close
とブレークポイントをRs1
に設定しました。そして、Rs1
の結果を掘り下げると、何もありません(Rs1のウォッチウィンドウ内にはFields > Count 0
という意味です)。
私は結果を受け取るために何か(何らかの方法で変数をRs1
以外に定義するようなもの)がないのですか?
ご迷惑をおかけして申し訳ありません。