Hallo,
bei mir handelt es sich um folgendes Problem. In meiner Oracledatenbank habe ich eine Tabelle Patient. In dieser sind so genannte Stammdaten verzeichnet, wie männlich weiblich (M/W), Vorname, Nachname etc...
Nun möchte ich mit Crystal Reports einen Bericht erstellen. Als Empfängertext wollte ich eine klassiche Formatierung nehmen also:
Herr
Mustermann Max
...
...
Bzw:
Frau
Mustermann Mathilde
...
Das Problem ist, dass ich in der DB nur M/W als Einträge habe. Ich muss mich also mit dem Formel Editor von CR "spielen". Als Lösung hätte ich folgenden Vorschlag, doch ich bekomme immer den Fehler das DER TEXT NICHT ZUR FORMEL GEHÖRT
Ich habe zu allererst ein Formel "Formelfeld" (Anrede) genommen und dann folgende geschrieben im Codeteil:
if {PATIENT.SEX} = "M"
THEN {@Anrede} := "Herr"
ELSE {@Anrede} := "Frau"
Ich habe schon zig Varianten ausprobiert. Manchmal bekomme ich den Fehler weg, aber dann sagt er DAS DER WERT DER FORMEL EIN BOOLESCHER WERT SEIN MUSS.
Ich weiß echt nicht mehr weiter, bitte helft mir!
Hi,
die Formel ist so nicht ganz korrekt! Richtig wäre :
if {PATIENT.SEX} = "M"
THEN "Herr"
ELSE "Frau"
Kannst bei größeren Formeln auch mit Variablen arbeiten. Aber das Prinzip bei den Crystal-Formeln ist das der letzte Ausgabewert der Rückgabewert ist.
Um es ggfl deutlicher zu machen :
StringVar tmpAnrede;
if {PATIENT.SEX} = "M"
THEN tmpAnrede := "Herr"
ELSE tmpAnrede := "Frau";
tmpAnrede
Also tmpAnrede wird ausgegeben und ist damit die Rückgabe an die Formel.
Gruss
macmark
beide Varianten funktionieren leider nicht!
ich erhalte noch immer den fehler, dass ein boolescher ausdruck erwartet wird!
Hi,
wo hast du die Formel in CR hinterlegt, welche Crystal Version hast du und wann bekommst du die Meldung???
Habs grad mal bei mir durchgespielt und alles ok!
Gehst über den Feld-Explorer / Formelfelder / rechte Maustaste und "Neu.." ??
Gruss
macmark
habe es hinbekommen, (benutze die Version, die in VS mitgeliefert wurde).
Habe einfach einen neuen Report angelegt und neu gemacht..🙂