Crystal reports 我正在尝试创建一个包含多个参数的公式,这些参数可能有输入值,也可能没有输入值

Crystal reports 我正在尝试创建一个包含多个参数的公式,这些参数可能有输入值,也可能没有输入值,crystal-reports,Crystal Reports,我正在尝试创建一个包含多个参数的公式,这些参数可能有输入值,也可能没有输入值 数据库字段和相应的参数为: {DataTableTicket.Master\u Account\u code}={?MastNo}) {DataTableTicket.Description}={?RTCode} {DataTableTicket.Problem\u code}={?ProbCode} {DataTableTicket.Resolution_code}={?ResCode} {DataTableTick

我正在尝试创建一个包含多个参数的公式,这些参数可能有输入值,也可能没有输入值

数据库字段和相应的参数为:
{DataTableTicket.Master\u Account\u code}={?MastNo})
{DataTableTicket.Description}={?RTCode}
{DataTableTicket.Problem\u code}={?ProbCode}
{DataTableTicket.Resolution_code}={?ResCode}
{DataTableTicket.Customer_Number}={?CustNo}
{DataTableTicket.Master\u Account\u code}={?MastNo})

我试图编写一个IF-THEN语句,该语句考虑了各种组合,因为您可以输入?MastNo值,但不能填充其余参数

我认为基本公式应该是这样的(如果参数为空,那么所有记录都是其他参数)。我正在努力解决的是如何创建基本公式,因为有这么多的组合

对于每个“可能有值也可能没有值”的参数,将其设置为默认值


如果输入了参数值,则将参数设置为输入值。

我通常会执行以下操作:

// Assumes that 0 represents all values; single value; numeric
( 0={?Parameter} OR {Table.Field}={?Parameter} )

// Assumes that 0 represents all values; multiple values; numeric
( 0 IN {?Parameter} OR {Table.Field} IN {?Parameter} )
在你的情况下:

( 0={?MastNo} OR DataTableTicket.Master_Account_Code}={?MastNo} ) AND
( 0={?RTCode} OR {DataTableTicket.Description}={?RTCode} )
...

我假设您知道如何确定某个参数是否输入了值,并且只想获得有关Crystal Reports哪个版本的帮助?它们是可选参数吗?因此,如果{?MastNo}为空,那么“所有”其他{datatabletticket.Master_Account_Code}={?MastNo}。我需要把他们连在一起吗?它看起来是这样的:如果IsNull({Tech})和IsNull({RTCode})和IsNull({ProbCode})和IsNull({ResCode})和IsNull({CustNo})和IsNull({MastNo}),那么“所有”其他({DataTableAppointments.technology}={Tech})和({DataTableTicket.Description}={RTCode})和({DataTableTicket DataTableTicket.ProbCode})和({DataTableTicket.ProbCode})和({DataTableTicket({DataTableTicket.Resolution_Code}={?ResCode})和({DataTableTicket.Customer_Number}={?CustNo})和({DataTableTicket.Master_Account_Code}={?MastNo})