2009-07-20 67 views
4

私は簡単なクリスタルレポートを生成するコマンドラインユーティリティを持っています。私は最近、Visual Studio 2008移行ツールを使用して.NET 1.1から.NET 3.5にプロジェクトを更新しましたが、今までに受け取ったことのないエラーが発生しています。Crystal Reports - "ここに文字列が必要です"数式エラー

問題は、次のとおりです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} 

誰もこれをすることができるものの任意のアイデアを持っていますか?私は手がかりから外れています。データセットが正しく入ってきています。エラーは単に変数を初期化する行を指しているようです。

答えて

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; 
+1

ありがとうございました –

関連する問題