ADODB RecordSet as Access Report RecordSource

14,954

You cannot bind a report to an ADO recordset in an mdb, only in an adp: http://support.microsoft.com/?id=287437

Share:
14,954
Sivakanesh
Author by

Sivakanesh

Updated on July 13, 2022

Comments

  • Sivakanesh
    Sivakanesh almost 2 years

    I have a simple form, a query and a report in Access 2003. I have to manipulate the results from the query in a recordset using VBA and then pass it on to the report as its RecordSource.

    If I declare the recordset as RecordSet and use its Name property as the RecordSource of the report then it is working. However, because I need to edit the recordset, I though it would be easier to use an ADODB RecordSet as below.

    The records set is declared as Dim rs As ADODB.RecordSet in a global module. The rest of the code is;

    Dim db As Database
    Set db = CurrentDb
    Dim con As ADODB.Connection
    Set con = CurrentProject.Connection
    Set rs = New ADODB.Recordset
    Set rs.ActiveConnection = con
    rs.Source = "Select * from XXX"
    rs.LockType = adLockOptimistic
    rs.CursorType = adOpenKeyset
    rs.Open
    
    'manipulate rs here....'
    

    I used to pass the RecordSource of the report as myReport.RecordSource = rs.Name. But the ADODB doesn't have a Name property.

    How can I pass this recordset to the report as its RecordSource?

    Thanks

  • Sivakanesh
    Sivakanesh over 13 years
    Yep, not possible with an ADODB. So I just created a make table query and manipulated the data within that. Then just bound the report to that table.