Crystal reports 如何在Crystal report selection expert中使用通配符

Crystal reports 如何在Crystal report selection expert中使用通配符,crystal-reports,crystal-reports-2008,Crystal Reports,Crystal Reports 2008,我在另一个论坛上发现了这个 为参数设置默认值“全部” 添加if语句以选择专家: If {?Parameter}='ALL' Then {Database.Field} like '*' Else {Database.Field} = {?Parameter} and {fctime_ts} >= {@StartDate} and {fctime_ts} < {@EndDate} 如果我使用一个实际的零件号,这非常有效,但是当我使用defaul ALL时,它根本不起作用 这是我

我在另一个论坛上发现了这个

为参数设置默认值“全部”

添加if语句以选择专家:

If {?Parameter}='ALL' 
Then {Database.Field} like '*' 
Else {Database.Field} = {?Parameter} and
{fctime_ts} >= {@StartDate} and 
{fctime_ts} < {@EndDate}
如果我使用一个实际的零件号,这非常有效,但是当我使用defaul ALL时,它根本不起作用

这是我完整的选择公式:

fpartno} = IIF({?PartNbr} = 'All', '*' , {?PartNbr}) and 
{fctime_ts} >= {@StartDate} and 
{fctime_ts} < {@EndDate} 
有人知道如何让论坛上提到的答案与日期配合使用,或者如何让这种方式起作用吗?

试试:

(If {?Parameter}='ALL' Then
  {Database.Field} LIKE '*' 
Else
  {Database.Field} = {?Parameter}
)
and {fctime_ts} >= {@StartDate}
and {fctime_ts} < {@EndDate}

我对你的建议有意见,但我找到了这个答案

这就是它的工作原理,它检查PartNbr是否等于“All”。如果是,则跳到日期限制。通过跳过,它将依次选择该日期范围内的所有零件。如果PartNbr不等于“All”,则需要PartNbr并获取日期范围内具有该编号的零件

这个解决方案对我来说非常有效,只是我想如果有人来,我会更新身份证

({?PartNbr} = 'All'
or
{?PartNbr}= {intran.fpartno}) and
{intran.fctime_ts} >= {@StartDate} and
{intran.fctime_ts} <= {@EndDate}
({?PartNbr} = 'All'
or
{?PartNbr}= {intran.fpartno}) and
{intran.fctime_ts} >= {@StartDate} and
{intran.fctime_ts} <= {@EndDate}