return recordset

L

Laurent M

Hello, I have a little VBA function which execute a SQL
query. The function should return the relevant recordset.

But i get an error when i try to get the recordset from a
query :

My function :

***************************************
Function ImportFromdb(Query As String)

Dim DBPath As String
Dim cnt As New ADODB.Connection
Dim Rst As New ADODB.Recordset

' Database path
DBPath = "C:\Documents and
Settings\Administrateur\Bureau\MyPFE\financesoftWithData.mdb"

cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source=" & DBPath & ";"

Rst.Open Query, cnt, adOpenStatic

ImportFromdb = Rst

Rst.Close: cnt.Close
Set Rst = Nothing: Set cnt = Nothing
Set Rg = Nothing
End Function
***************************************

here is the part of the sub which calls the function

Dim Rst As New ADODB.Recordset
Set Rst = ImportFromdb("SELECT *FROM table")


So my question is : What should my function return precisely?

Thanks !
 
J

JulieD

Hi

not sure if it's an issue but there doesn't appear to be a space between the
* and the FROM

Cheers
JulieD
 
G

Guest

i miss typed the query ;)
but i test to use data directly in the function
ImportFromdb and it works perfectly

the error comes from the return thing.
 
L

Laurent M

seems my last message doesn't appear

i just miss typed my query. ;)
in fact i tested to display data directly in the function
ImportFromdb and it works perfectly.

the error comes from the return.
 
J

Jamie Collins

Laurent said:
the error comes from the return.

Try

Set ImportFromdb = Rst

You could also change the declaration to

Function ImportFromdb(Query As String) As ADODB.Recordset
Jamie.

--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top