I want to use the CopyFromRecordSet however I am using a stored procedure that returns a recordset. Here is the code, but the recordset never opens. I have commented out the Execute
Here is a code snip, any Ideas? TIA Mike
Dim Con1 As New ADODB.Connection
Dim Cmd1 As New ADODB.Command
Dim Rs As New ADODB.Recordset
Con1.Open
Cmd1.ActiveConnection = Con1
Cmd1.CommandType = adCmdText
Cmd1.CommandText = "MyStroredProc"
Cmd1.Execute
Rs.Open Cmd1
Worksheets("T1").Range("B1").CopyFromRecordset Rs
I believe it should be like
Con1.Open
Set Cmd1.ActiveConnection = Con1
Cmd1.CommandType = adCmdStoredProc ' Please verify spelling for adCmdStoredProc, since I do not have documentation with me
Cmd1.CommandText = "MyStroredProc"
Set Rs = Cmd1.Execute
VMazur,
Thank you for the code snip however when I query the recordset state, it is still closed or 0 and I generate an error. I did use 4 as the commandType
Any other thoughts would be appreciated.
'Open the connection
Con1.Open
Set Cmd1.ActiveConnection = Con1
Cmd1.CommandType = 4 '' Stored Proc
Cmd1.CommandText = "REPORT_procASDCStatus"
Set Rs = Cmd1.Execute
'Rs.Open Cmd1 '' Tried this also
Worksheets("T1").Range("A1").CopyFromRecordset Rs <<Fails with message that rs is not open
MikeD
|||What happens when you call Execute method? Does it generate any error or not?|||The issue was Set NO COUNT ON in the SP. This was missing in the SP.
As soon as I added this, the recordset opened and I could do copy from.
Thank you Mazur
|||Hi Mazur,
There was no error message, only issue was there was no data transfer. As soon as we set NOCOuNT ON, data started transfering.
This question is resolved.
Thank you
Mike
No comments:
Post a Comment