ADODB RecordSet作为Access Report RecordSource

时间:2010-11-15 13:36:19

标签: ms-access vba access-vba adodb recordset

我在Access 2003中有一个简单的表单,一个查询和一个报表。我必须使用VBA操作记录集中的查询结果,然后将其作为RecordSource传递给报表。

如果我将记录集声明为RecordSet并使用其Name属性作为报告的RecordSource,那么它正在工作。但是,因为我需要编辑记录集,所以我可以更容易地使用ADODB RecordSet,如下所示。

记录集在全局模块中声明为Dim rs As ADODB.RecordSet。 其余的代码是;

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....'

我曾经将报告的RecordSource作为myReport.RecordSource = rs.Name传递。 但是ADODB没有Name属性。

如何将此记录集作为RecordSource传递给报表?

由于

2 个答案:

答案 0 :(得分:5)

您无法将报告绑定到mdb中的ADO记录集,只能绑定到adp:http://support.microsoft.com/?id=287437

答案 1 :(得分:0)

我手边没有访问权限2003的副本,但是你只是从内存中获取

Set Me.Recordset = rs

刚看了一下Microsoft KB,看起来我的内存仍在运行!

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