主题:[讨论]如何对没有连接的记录集进行查询
图上是使用dataEnvironment做的。现在不想使用dataEnvironment。因为运行时数据库路径,报表的分组的信息不是固定的。利用dataEnvironment做出的分组根本没用。
'* [color=green]rs1,rs2,rs3,rsResult都是没有连接的记录集[/color]
dim rs1 as adodb.Recordset
set rs1= new adodb.recordset
rs1.fields.append .......
......
rs1.open
rs1.addnew
'values()是程序处理的结果。比如从学生成绩表中查询到的每个学生的成绩
for n = 0 to 一个班里的学生总数
for i = 0 to ubound(values)
rs1(i)=values(i)
next
next
dim rs2 as adodb.recordset
set rs2 =new adodb.recodset
rs2.fields.append ....
...
rs2.open
rs2.addnew
for n=0 to 一个学校里的班级总数
for i = 0 to ubound(values) 'values()是一个班级的学生平均成绩信息
rs2(i)=values(i)
next
next
'rs3 ....同一个地区的各个学校
...
dim rsResult as adodb.recordset
set rsResult =new adodb.recordset
rsResult.cursorLocation=adUserClient
dim strShape as string
strShape="SHAPE( SHAPE rs1 APPEND ( SHAPE rs2 APPEND rs3 RELATE rs2.字段1 TO rs3.字段1) RELATE rs1.字段1 TO rs2.字段1) COMPUTE rs1 BY rs1.字段1"
rsResult.open strShape,,,,adCmdFile '[color=red]这里怎么执行查询。rsResult没有连接到某个数据库。难道必须把rs1,rs2,rs3写入到一个临时数据库中???[/color]
datareport1.dataSource=rsResult '设置报表的数据源
'* [color=green]rs1,rs2,rs3,rsResult都是没有连接的记录集[/color]
dim rs1 as adodb.Recordset
set rs1= new adodb.recordset
rs1.fields.append .......
......
rs1.open
rs1.addnew
'values()是程序处理的结果。比如从学生成绩表中查询到的每个学生的成绩
for n = 0 to 一个班里的学生总数
for i = 0 to ubound(values)
rs1(i)=values(i)
next
next
dim rs2 as adodb.recordset
set rs2 =new adodb.recodset
rs2.fields.append ....
...
rs2.open
rs2.addnew
for n=0 to 一个学校里的班级总数
for i = 0 to ubound(values) 'values()是一个班级的学生平均成绩信息
rs2(i)=values(i)
next
next
'rs3 ....同一个地区的各个学校
...
dim rsResult as adodb.recordset
set rsResult =new adodb.recordset
rsResult.cursorLocation=adUserClient
dim strShape as string
strShape="SHAPE( SHAPE rs1 APPEND ( SHAPE rs2 APPEND rs3 RELATE rs2.字段1 TO rs3.字段1) RELATE rs1.字段1 TO rs2.字段1) COMPUTE rs1 BY rs1.字段1"
rsResult.open strShape,,,,adCmdFile '[color=red]这里怎么执行查询。rsResult没有连接到某个数据库。难道必须把rs1,rs2,rs3写入到一个临时数据库中???[/color]
datareport1.dataSource=rsResult '设置报表的数据源