Crystal Reports - "A string is required here"公式错误

4
我有一个命令行实用程序,可以生成一个简单的水晶报表。最近,我使用Visual Studio 2008迁移工具将项目从.NET 1.1更新到.NET 3.5,现在出现了一个之前从未遇到过的错误。
问题出现在work_order公式中,如下所示:
stringVar nvl_ship_wrk_id := "0";
stringVar nvl_ship_wrk_seq := "0";

If Not IsNull({FeedBOLInput.ShipWrkId}) Then 
    nvl_ship_wrk_id := {FeedBOLInput.ShipWrkId}; 

If Not IsNull({FeedBOLInput.ShipWrkSeq}) Then 
    nvl_ship_wrk_seq := {FeedBOLInput.ShipWrkSeq};

nvl_ship_wrk_id & " - " & nvl_ship_wrk_seq;

错误信息如下:

- InnerException    {"A string is required here.
Error in File C:\\...\\temp_88c50533-02c6-4973-ae06-ed0ab1a603ac {0D5E96FB-038A-41C5-93A7-A9D199961377}.rpt:
Error in formula  <work_order>. 
'stringVar nvl_ship_wrk_id := \"0\";
'
A string is required here."}    System.Exception {System.Runtime.InteropServices.COMException}

有人知道这是什么情况吗?我已经没有线索了。数据集已正确加载,但错误似乎指向了一个仅初始化变量的行。

1个回答

7
您可以尝试将{FeedBOLInput.ShipWrkId}和{FeedBOLInput.ShipWrkSeq}转换为字符串,以确保其作为字符串传递。我不确定为什么您当前的方法无法实现,但请尝试以下方法,看看是否可行。
stringVar nvl_ship_wrk_id := "0";
stringVar nvl_ship_wrk_seq := "0";

If Not IsNull({FeedBOLInput.ShipWrkId}) Then 
    nvl_ship_wrk_id := CStr({FeedBOLInput.ShipWrkId}); 

If Not IsNull({FeedBOLInput.ShipWrkSeq}) Then 
    nvl_ship_wrk_seq := CStr({FeedBOLInput.ShipWrkSeq});

nvl_ship_wrk_id & " - " & nvl_ship_wrk_seq;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接