2009-07-20 5 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

감사합니다. –