4

簡単な Crystal レポートを 1 つ生成するコマンド ライン ユーティリティがあります。最近、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}

これが何であるか誰にも分かりますか?手がかりがありません。データセットは適切に取得されています。エラーは、変数を初期化するだけの行を指しているようです。

4

1 に答える 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;
于 2009-07-20T22:03:22.990 に答える