2016-03-31 2 views
0

Ich habe eine einfache Formel, die ich aktualisiert, um eine IF-Bedingung zu verwenden. Es gibt keinen Fehler laut dem CR-Designer. Aber die Formel gibt immer noch eine leere Zeichenfolge zurück.Crystal Report-Formel, die irgendwann keine Werte zurückgibt

Dies ist die neue Formel

 IIF (IsNull({TBL_Delivery_Order_Header.DOHD_TotalDOPrice}), sum 
({VIEW_Delivery_Note.Price},{VIEW_Delivery_Note.PODD_Delivery_Order_No}) , 
{TBL_Delivery_Order_Header.DOHD_TotalDOPrice}) 

Dies ist die alte Formel.

sum({VIEW_Delivery_Note.Price},{VIEW_Delivery_Note.PODD_Delivery_Order_No}) 

Wenn ich nur diesen Summenanteil belasse, kommt der Wert richtig. Wenn ich dieselbe Summe in die IIF-Bedingung einfüge, wird stattdessen eine leere Zeichenfolge angezeigt. Es ist der exakt gleiche Wert und die Bedingung wird richtig ausgewertet.

Edit: Werte als Datensatz Values when record exists

Werte liegt vor, wenn Aufzeichnung nicht Values when record does not exist

Im ersten Fall existiert, es funktioniert gut und zeigen 344222. Im zweiten Fall wird angenommen, das nehmen anderer Wert aus Spalte Preis, 18260. Stattdessen wird leer angezeigt.

+0

Welchen Wert besteht dieser String aus '{TBL_Delivery_Order_Header.DOHD_TotalDOPrice})' – Siva

+0

Wenn der Datensatz existiert, dann entweder Null oder ein zufälliger Wert. Wenn der Datensatz existiert, funktioniert es gut. Andernfalls wird für die Spalte null zurückgegeben. (Ich habe versucht, die SQL-Abfrage aus der RPT-Datei auszuführen, und der Wert kommt ordnungsgemäß). – jitendragarg

Antwort

2

Macht nichts. Ich habe das Problem gefunden. Es ist wahrscheinlich das Zurückgebliebenste, was ich gesehen habe.

Wie auch immer, das Problem war nicht die Formel. Anscheinend haben Crystal Reports entschieden, dass null im IIF-Ausdruck 2 nicht gültig ist, obwohl dies der ganze Grund für dieses IIF ist. Es wurde also eine Ausnahme ausgelöst, weil TBL_Delivery_Order_Header.DOHD_TotalDOPrice null war und Teil des Ausdrucks 2 war. Obwohl es bei der Auswertung nicht berücksichtigt wird, wenn es null ist, hat Crystal Reports es immer noch nicht gemocht. Wie ich schon sagte, zurückgeblieben.

Wie auch immer, es gab ein Drop-Down im Formeleditor, um zu entscheiden, was für Nullwerte zu tun ist. Also habe ich "Standardwerte für Nullen" anstelle von "Ausnahme für Nullen" gewählt. Und jetzt ist plötzlich alles in Ordnung (obwohl ich keinen Standardwert angegeben habe).

So stellt sich heraus, Formel war nach allem richtig. Ich musste nur Crystal Report fragen, um nicht einen Zischanfall zu werfen, wenn ein Nullwert gefunden wird.