web-dev-qa-db-ja.com

CrystalReportでの部分文字列の使用

次のデータを含むCrystalReportのフィールドがあります。
'605 KL1-ダニエルスティーブ'
'605 KL1-'を削除し、'Daniel Steve'をフィールドのみに残すにはどうすればよいですか? '-'の前の文字は異なる可能性があります。数式が自動的に'-'を検索し、その後のすべてを表示することを願っています。

8
Fire Hand

MIDはここで役立ちます:

MID(my_string, 11) // will print your string from character 11 ("D") forward

また、表示を動的にする必要がある場合は、MIDINSTRを組み合わせることができます(もちろん、これはデータの形式が一貫している場合にのみ機能します)。

MID(my_string, (INSTR(my_string, "-") + 2))

添え字を使用(x [y])Crystal Syntaxsub

field_name ='605 KL1 - Daniel Steve'

構文は{field_name} [11から23]

Result = {field_name} [11から23]->結果= 'Daniel Steve'

Webサイト参照: IBM-Crystal Reportの開発

5
user3689238

UもそのようなSplit関数を使用できると思います

Split ({field_name},"-")[2]

ただし、分割関数を使用する場合は、文字列に区切り文字が存在することを確認するか、実行時エラーを防ぐための条件を追加する必要があります。 Split関数は配列を返しますが、ゼロで始まりません。それじゃ意地悪だね [1]は最初の部屋で、[2]は2番目の部屋です。

2
Jze