2014-01-16 3 views
13

Ich habe eine Formel geschrieben, um eine Zeichenfolge basierend auf Logik in einem Zeichenfolgefeld in meiner Datenbank zurückgegeben. Ich habe alles funktioniert, außer ich kann nicht zurückkehren, wenn das Feld die leere Zeichenfolge ist. DieseFormel zu überprüfen, ob Zeichenfolge in Crystal Reports leer ist

ist das, was ich brauche:

... 
else if ({TABLE.FIELD} = "") then 
    "Fixed" 
... 

Doch dieser Eintrag als leere Zeichenfolge in meinem Bericht erscheint. Ich habe versucht, die Länge des Feldes auf 0 und die StrCmp-Funktionen zu testen. Nichts scheint zu funktionieren. Google-Ergebnisse geben an, dass ein einfacher Vergleich mit "" oder "" die Logik funktionieren lassen sollte. Ich bin neu in CR, also vermisse ich vielleicht etwas. Irgendwelche Ideen, wie ich diese Funktionalität erwerben kann?

+0

'Dieser Eintrag erscheint jedoch als leere Zeichenfolge in meinem Bericht.Was genau wird angezeigt? Es ist nicht klar aus Ihrer Beschreibung. – LittleBobbyTables

+0

Die leere Zeichenfolge wird gedruckt/zurückgegeben. Alle anderen Felder zeigen die korrekte Zeichenfolge an (dh Fixed). – user3203365

+0

Es ist schon eine Weile her, seit ich Crystal benutzt habe, aber bist du sicher, dass es wirklich leer ist und nicht "null"? Wenn ich mich richtig erinnere, ist Crystal sehr schlecht im Umgang mit Nullwerten, und sie müssen zuerst überprüft werden; Überprüfe, ob die Zeichenkette Null ist, als dein allererster Test und zeige "Fixed" an, schau ob das alles klar macht. – LittleBobbyTables

Antwort

35

Sie können den IsNull-Zustand prüfen.

If IsNull({TABLE.FIELD}) or {TABLE.FIELD} = "" then 
    // do something 
+4

Obwohl es aus der Antwort offensichtlich sein sollte, möchten Sie als erste Überprüfung nach 'NULL' suchen, da Crystal Reports wählerisch ist, wenn es um Nullen geht. – LittleBobbyTables

+0

in "// tu etwas" Ich möchte einen bestimmten Text einstellen, aber es wird immer wieder falsch statt des Textes zurückgegeben – numerah

+0

Hallo LittleBobbyTables, ich möchte dir ZWEI Daumen hoch !!! –

-1

If IsNull ({TABLE.FIELD1}) dann "NULL" + '' + {} TABLE.FIELD2 sonst {TABLE.FIELD1} + '' + {} TABLE.FIELD2

Hier gebe ich NULL als Zeichenfolge, um den Zeichenfolgenwert NULL anstelle des Nullwerts im Datenfeld anzuzeigen. Ich hoffe, Sie verstehen.