0
我正在使用舊的MS-Access(2007)應用程序(維護+更改)。當前的變化涉及將一段代碼從select * from
更改爲調用返回簡單表的存儲過程(僅一個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
:
現在,我知道過程是用正確的參數調用(和值,因爲我是從過程中登錄到調試表,我看到所有的參數都收到並返回的表格只包含10條記錄(如參數「4」規定)
返回的表看起來像:
+------------------------------------------------------+
| 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]PTEST |
|[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
之外的變量)以接收結果?
非常感謝您的建議。