您的位置:首页 > 其它

子报表复合条件筛选 兼答rockyvan

2008-10-10 14:54 393 查看
本文的相关文章:

子报表与主报表的链接

使用共享变量实现主报表及子报表之间的数据共享

在CSDN的回复贴中,rockyvan提到一个子报表数据根据主报表的条件进行进一步筛选的问题

http://topic.csdn.net/u/20080328/11/bd343c29-7351-437e-8183-d8d4a4ef1f10.html

我在回复中,想当然地采用了主子报表链接结合一个主、子报表共享变量,按照变量对子报表数据筛选的方式来实现

但是实际使用该方式时,提示“由于该公式必须稍后求值,所以现在无法使用”,所以公式无法使用。

现在简单地描述一下需求,并提出解决方法:





根据上面两张表实现如下效果,其中主报表及子报表通过EmpNo字段链接,但是子报表的数据需要根据PayMonth字段过滤



我们知道对于直接的关联,可以通过主、子报表的链接来实现。

但是对于进一步的条件,如果使用共享变量的形式,会因为共享变量的限制导致无法使用

(共享变量在WhilePrintingRecords时生效,但是记录筛选发生在WhileReadingRecords,早于WhilePrintingRecords)

提供解决方法如下:

对于主、子报表直接关联的字段,加上去,注意红色部分的对应关系



对于要用到的参数字段,无直接对对应关系的,也加上,注意把勾点掉



点确定后,在子报表中进入公式编辑器,可以看到记录选定公式里已经有默认的关联字段限制



此时,手工编辑另外一个字段的条件即可



说明一下:

这个公式中比较繁琐,是因为year,month,默认取出来的值是带格式的

如2008-1-1,取Year为2,008.00,取Month后为1.00,所以要将其处理下才能正确使用。

当然啦,把2008-02取出后转换成number也行,呵呵。

---over---
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: