2016-04-26 81 views
0

我正在使用Crystal Reports创建报表,并且必须使用参数过滤这些值。到目前为止,我已经使用下面的代码来筛选select专家中的数据。Crystal Reports,通过参数接受NULL值

{ACTION_MES_CMB_R.EVAL_ID} = {?Evaluation} and 
{ACTION_MES_CMB_R.EMP_NUMBER} = {?Employee} and 
{PARAMETER.PARA_NAME} = "COMPANY_COPYRIGHTS" and 
{VW_ACTION_MES_CMB_R.GOAL_VERSION_NO} = {?Goal_Version} 

除此之外我也想有空值VW_ACTION_MES_CMB_R.GOAL_VERSION_NO数据。
因此,代码应和改变这样的事情接受DB NULL值,

{VW_ACTION_MES_CMB_R.GOAL_VERSION_NO} = {?Goal_Version} or /**NULL**/ 

请帮我做这件事。我希望你能理解这个问题。谢谢。

+0

在为报表提供输入的过程中,用户是否选择了'null'? – Siva

+0

用户必须选择一个值,默认情况下应该选择空值。 – jayz

+0

您需要添加null作为默认参数,这意味着不要输入null,而是在参数窗口中添加一行,而不输入任何空格,甚至不使用相同的代码'{VW_ACTION_MES_CMB_R.GOAL_VERSION_NO} = {?Goal_Version}' – Siva

回答

0

这解决了我的问题。

(isnull({VW_ACTION_MES_CMB_R.GOAL_VERSION_NO}) or {VW_ACTION_MES_CMB_R.GOAL_VERSION_NO} = {?Goal_Version}) and 
{VW_ACTION_MES_CMB_R.EVAL_ID} = {?Evaluation} and 
{VW_ACTION_MES_CMB_R.EMP_NUMBER} = {?Employee} and 
{PARAMETER.PARA_NAME} = "COMPANY_COPYRIGHTS"