ADODB RecordSet as Access Report RecordSource

2019-04-07 04:19发布

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

2条回答
相关推荐>>
2楼-- · 2019-04-07 04:25

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

查看更多
Lonely孤独者°
3楼-- · 2019-04-07 04:37

I don’t have a copy of access 2003 to hand but from memory you just do

Set Me.Recordset = rs

Just had a look on the Microsoft KB and it looks like my memory is still working!

http://support.microsoft.com/kb/281998

查看更多
登录 后发表回答