我想查看收据号码&收据日期为空或不显示在报告上,如果数字或日期为空,则显示“”。
我试过这段代码:
Local StringVar ReceiptNo :=IIF(IsNull({usp_GetInvoideByBillNo_IMPORT.Receipt_No}),"",{usp_GetInvoideByBillNo_IMPORT.Receipt_No});
Local StringVar ReceiptDate :=IIF(IsNull({usp_GetInvoideByBillNo_IMPORT.RECEIPT_DATE}), "", ToText({usp_GetInvoideByBillNo_IMPORT.RECEIPT_DATE},"dd/MM/yyyy"));
ReceiptNo + ReceiptDate
在我的一个记录收据日期为空且收据编号不为空时,它应显示收据编号,但不显示收据编号。我在输入收据日期后检查了报告,然后显示了正确的收据编号&日期。 请检查代码,如有任何错误,请通知我。 提前谢谢。
答案 0 :(得分:1)
我也面临同样的问题。根据IBM文档,CrystalReport存在缺陷,因为IIF
和IsNull
不能一起使用。
There is a defect in Crystal Reports 8.x and 10.x that prevents the above formula from working correctly. The 'IIF' and 'IsNull' commands cannot function together, and that includes attempting to use "Not" to modify the IsNull command; for example, IIF(Not IsNull ()).
https://www-304.ibm.com/support/docview.wss?uid=swg21143931
解决方法是使用If-Then-Else
语法
If IsNull({getValue.Sr_No}) Then "0" Else "In Progress"