Office中国论坛/Access中国论坛

标题: 在报表中对统计出来的数据,如何得到“当前报表的统计起止时间"; [打印本页]

作者: wsxwsx1    时间: 2011-7-28 10:47
标题: 在报表中对统计出来的数据,如何得到“当前报表的统计起止时间";
在报表中如何合计“当前报表的统计起止时间";

通过如下代码给报表加条件:

DoCmd.OpenReport "R0B0002", A_PREVIEW, , WhereString

问题:

在报表中如何设置“当前报表的数据”中最大时间及最小时间,即在报表中给一个标注:统计期限为XXXX年XX月XX日到XXXX年XX月XX日

作者: roych    时间: 2011-7-28 11:43
既然能获取WhereString值,就可以根据这个值来提取日期了,至于放在页眉还是页脚,那就随意了。
作者: wsxwsx1    时间: 2011-7-28 13:16
回复 roych 的帖子

在报表中,如何根据这个值来取得日期???
作者: roych    时间: 2011-7-28 13:19
设置一个变量和控件,在主体的格式化事件里,将控件值设置为这个变量即可。
作者: wsxwsx1    时间: 2011-7-28 13:52
我是这样处理的,但不对:

Private Sub Report_Activate()
    DoCmd.Maximize
    '以当前的数据源来确定起止日期
Me.文本32 = "统计期限:" & DMin("查询日期", Me.RecordSource) & " 到: " & DMax("查询日期", Me.RecordSource)
end sub

作者: roych    时间: 2011-7-28 16:18
直接用数据源有些麻烦。按我的理解,你应该是在窗体中建立按钮,再打开报表的吧?
1、如果主窗体有日期查询条件就最好不过了,只需要在报表里建立一个函数,对报表中的文本控件指定数据源即可。
2、如果没有查询条件,请在页脚处建立一个 DMin和Dmax的隐藏文本控件,然后在报表处建立一个函数引用过来。
Function Mytxt(ctr As Control) As String
Mytxt = ctr
End Function
在报表的文本控件的源里输入:
=Mytxt(Forms!窗体名!控件名)




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3