我的查询是在chaxun_form中使用Query1进行的,然后对打印窗体print_form中的控件赋值:
print_form.QuickRep1.DataSet:=Query1;
print_form.QRDBText1.DataSet:=Query1;
.............
查询结果可以显示,但是用QRExpr分组统计的数据显示为零。
同样的查询我在同一个窗口中进行测试,是可以正常显示QRExpr分组统计的数据。
浏览了网上的一些帖子,指出问题是在:QRExpr下的master下的DataSet没有设置?
1、请问如何动态设置QRExpr下的master下的DataSet?
2、是否可以用其他方法解决这个问题?
谢谢各位!
print_form.QuickRep1.DataSet:=Query1;
print_form.QRDBText1.DataSet:=Query1;
.............
查询结果可以显示,但是用QRExpr分组统计的数据显示为零。
同样的查询我在同一个窗口中进行测试,是可以正常显示QRExpr分组统计的数据。
浏览了网上的一些帖子,指出问题是在:QRExpr下的master下的DataSet没有设置?
1、请问如何动态设置QRExpr下的master下的DataSet?
2、是否可以用其他方法解决这个问题?
谢谢各位!
例子:
CREATE procedure rpt_Deliver(@unitcode varchar(100),@sTime varchar(100),@eTime varchar(100)) as
--生成作为记录集返回的临时表
declare @cbdwdm varchar(100)
declare @rowid int
declare @dwmc varchar(200)
declare @counts int
declare @counts_comp int
declare @compRate varchar(100)
set @rowid=0
if object_id('tempdb..#t') is not null
drop table #t
create table #t(id int,sName varchar(100),counts int,counts_comp int,compRate varchar(100))
--获取本单位所有用户向下交办记录,得到对应的承办单位代码信息,然后分别统计其各项数据
declare rs scroll cursor for
select cbdwdm from ywdj where djsj>=@sTime and djsj<=@eTime and djdwdm=@unitcode and zbbz=1 group by cbdwdm order by cbdwdm
open rsfetch first from rs into @cbdwdm
while @@fetch_status=0
begin
set @rowid=@rowid+1
--得到名称
select @dwmc=isnull(dwmc,'') from info_dw where dwdm=@cbdwdm
.......... --生成记录 插入临时表
insert into #t values (@rowid,convert(varchar(100),@rowid) + '.' + @dwmc,@counts,@counts_comp,@compRate)
fetch next from rs into @cbdwdm
endclose rs
deallocate rs--合计信息
set @rowid=@rowid+1
declare @allCount int
select @allCount=isnull(sum(counts),0) from #t
--合计办结
set @rowid=@rowid+1
declare @allCount_Comp int
select @allCount_Comp=isnull(sum(counts_comp),0) from #t
--合计办结率
set @rowid=@rowid+1
declare @all_comprate varchar(100)
if @allCount=0 or @allCount_Comp=0
select @all_comprate='0.0%'
else
select @all_comprate=convert(varchar(100),convert(numeric(10,1),@allCount_Comp*100.0/@allCount))+'%'
--插入合计
insert into #t values (@rowid,'合计: ',@allCount,@allCount_Comp,@all_comprate)
--返回记录集到客户端ado
select * from #t order by id