我正在尝试在Crystal(2011,V14.0)中创建一个报告,显示的结果与该想法不一致,我觉得下面的代码应该工作但没有用,任何线索都表示赞赏! 需要一个 1)用户选择群集,然后根据它(想想国家) 2)另一个参数获取为该集群过滤的设施名称(将其视为状态)
现在,群集应该是强制性的,如果用户没有选择任何设施,那么它应该考虑在该用户指定的群集中显示所有设施。
除此之外,表格中有四个日期字段,如果这些日期中的任何日期落在用户选择的日期范围之间,那么它也应该选择它们。 所以,我正在使用这个公式
if (not HasValue({?FacilityNameVW})) then
{Cmd_PWCode_Shop.DESCRIPTION} = {?FacilityNameVW - DESCRIPTION} and
({WORKORDER.ACTUALSTARTDATE} in {?From Date} to {?To Date} or
{WORKORDER.ACTUALFINISHDATE} in {?From Date} to {?To Date} or
{WORKORDER.PROJSTARTDATE}in {?From Date} to {?To Date} or
{WORKORDER.PROJFINISHDATE}in {?From Date} to {?To Date} )
else
(HasValue({?FacilityNameVW}) OR {Cmd_WO_Shop_Facility.FACILITYNAME} = {?FacilityNameVW}) and
({WORKORDER.ACTUALSTARTDATE} in {?From Date} to {?To Date} or
{WORKORDER.ACTUALFINISHDATE} in {?From Date} to {?To Date} or
{WORKORDER.PROJSTARTDATE}in {?From Date} to {?To Date} or
{WORKORDER.PROJFINISHDATE}in {?From Date} to {?To Date} )
这是Crystal 2011,V14.0中参数设置的屏幕截图 here is screenshot of the Parameters setting in Crystal 2011, V14.0
答案 0 :(得分:0)
问题现在解决了。 在第一次,我意识到报告在执行第一个条件语句之后跳过,如果测试日期是从到那么xx, 它不会在其他不同的日期执行其他条件, 但在其他具有多个日期的不同数据的报告中,它工作正常。 最后,我的数据专家中的链接,表格和视图以某种方式创建了笛卡尔积,因此,一切都变得疯狂。
我在SQL中创建了一个新的View,最小化了链接数,然后使用参数化的SQL命令来提取在四个不同字段上过滤的数据。我在Select expert中添加了逻辑来处理Country和City。 现在它工作正常。