View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Harald Staff Harald Staff is offline
external usenet poster
 
Posts: 1,327
Default Pass an ADO recordset

Hi

If you set reference to ADO (Microsoft ActiveX Data Objects) then you have a
datatype called ADODB.Recordset that I believe you can pass like this:

Sub test()
Dim Cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
'Open db, Get data, ...
Call Another(Rst)
Cnn.Close
Set Rst = Nothing
Set Cnn = Nothing
End Sub

Sub Another(Rst As ADODB.Recordset)
'do stuff
End Sub

--
HTH. Best wishes Harald
Followup to newsgroup only please

"Quartz" skrev i melding
...
Hello.

Is is possible to structure VBA code so that I can call a
function that runs a query, say in ADO, return the data to
a recordset and then return that recordset to the calling
subroutine in another module?

If so, I need some example code that illustrates how to do
this. I have been unsuccessful so far. My call to the
function works and the query returns the data into the
recordset, but I can't seem to pass the recordset back to
the calling subroutine. Apparently, you can't pass it like
an array? ...Unless I not dimensioning my variables
correctly???

Your example code would be most helpful. Thanks in advance.