2016-06-14 109 views
0

我在水晶报告中遇到了以下公式结果的问题。由于连接的类型,有些情况下表“CustomerLocation”可能为空。为了纠正这个问题,我构建了下面的公式来返回一个在Location表为空的情况下有效的字段。我已经验证了Customer.CustomerName字段确实有一个值,只需将该字段拖到报表中即可证明是这种情况。为什么我总是从这个公式中返回一个空字符串?Crystal Reports公式总是空的

if {CUSTOMER.ID#} = 2075 or {CUSTOMER.ID#} = 2454 then 
(
    {tblOrderHeader.BillName} 

) 
else if {CUSTOMERLOCATION.Customer Name} = "" or IsNull({CUSTOMERLOCATION.Customer Name}) = true then 
( 
{CUSTOMER.CustomerName} 
)  
else 
(
{CUSTOMERLOCATION.Customer Name} 
) 
+2

试试这个 - '如果{CUSTOMERLOCATION.Customer名称} = “” 或者ISNULL({CUSTOMERLOCATION.Customer名称}),然后 ({} CUSTOMER.CustomerName) 否则,如果{客户(''2075','2454']然后({tblOrderHeader.BillName}) else({CUSTOMERLOCATION.Customer Name})' - 公式的语法看起来正确。我发现这种行为可以根据首先评估哪种情况而改变。 – Aron

+0

谢谢!这是修复,疯狂如何对订单进行一些调整来解决这个问题。我可以标记为答案,但谢谢你的解决方案。 – HighARc

回答

0

如果{CUSTOMERLOCATION.Customer名称} = “” 或 ISNULL({CUSTOMERLOCATION.Customer名称})

然后({CUSTOMER.CustomerName})

否则如果{客户在[ '2075', '2454']

然后({tblOrderHeader.BillName})

否则({CUSTOMERLOCATI .ID#} ON.Customer名称})

相关问题