2009-07-20 6 views
4

Ich habe ein Befehlszeilen-Dienstprogramm, das einen einfachen Crystal-Bericht generiert. Ich habe das Projekt kürzlich von .NET 1.1 auf .NET 3.5 aktualisiert, indem ich den Visual Studio 2008-Migrator verwendet habe und jetzt einen Fehler erhalte, den ich noch nie zuvor erhalten hatte.Crystal Reports - "Eine Zeichenfolge ist hier erforderlich" Formelfehler

Das Problem ist in der work_order Formel, die wie folgt lautet:

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; 

Und der Fehler ist:

- 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} 

Hat jemand eine Ahnung, was das sein kann? Ich habe keine Ahnung. Das Dataset kommt richtig herein - und der Fehler scheint auf eine Zeile zu zeigen, die lediglich eine Variable initialisiert.

Antwort

7

Sie können versuchen, die {FeedBOLInput.ShipWrkId} und {FeedBOLInput.ShipWrkSeq} in eine Zeichenfolge zu konvertieren, um sicherzustellen, dass sie als Zeichenfolge angezeigt wird.

Ich bin mir nicht sicher, warum, was Sie haben, würde nicht funktionieren, aber sehen, ob das unten für Sie funktioniert.

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

Danke, das hat funktioniert –