我在Access 2003中有一个简单的表单、一个查询和一个报告。我必须使用VBA操作记录集中的查询结果,然后将其作为RecordSource传递给报表。
如果我将记录集声明为recordset,并使用其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传递给报表?
谢谢
发布于 2010-11-15 23:44:34
不能将报表绑定到mdb中的ADO记录集,只能在adp:http://support.microsoft.com/?id=287437中绑定。
发布于 2010-11-15 23:20:16
我手头上没有access 2003的副本,但从内存中看,您只需
Set Me.Recordset = rs刚刚看了一眼微软知识库,看起来我的记忆还在工作!
http://support.microsoft.com/kb/281998
https://stackoverflow.com/questions/4184871
复制相似问题