Hallo, habe da ein etwas merkwürdigen Fehler in meinem Report.
Dies ist mein Ausdruck:
C#-Quelltext
1:
| ="Veranstaltungsort für " + IIF(InStr(Fields!strTeilnehmer.Value, "Herr"), "Herrn " + (Split(Fields!strTeilnehmer.Value, " ").GetValue(2)), Fields!strTeilnehmer.Value) |
Was ich möchte:
Wenn der String im Value "strTeilnehmer" ein "Herr" enthält, dann soll "Herr" mit "Herrn" ersetzt werden.
Ich prüfe mit InStr, ob "Herr" im String enthalten ist, wenn ja dann splitte in den String bei den Leerzeichen auf und hole mit mein Value vom Array, an der 2 Stelle.
Beispiel:
Herr Max Mustermann -> mit GetValue(2) würde ich "Mustermann" bekommen. Das funktioniert soweit aber mein "FalsePart", ganz am Ende, gibt "#Error" im Report aus.
Wenn ich den zweiten Wert bei GetValue ausgeben lasse, also .GetValue(1), dann funktionert es plötzlich. Das Problem dabei ist, dass ich dann "Herrn Max" rausbekomme.
Weiss jemand warum oder kann mir da vllt eine elegantere Lösung verraten?