次のデータを含むCrystalReportのフィールドがあります。
'605 KL1-ダニエルスティーブ'
'605 KL1-'を削除し、'Daniel Steve'をフィールドのみに残すにはどうすればよいですか? '-'の前の文字は異なる可能性があります。数式が自動的に'-'を検索し、その後のすべてを表示することを願っています。
MID
はここで役立ちます:
MID(my_string, 11) // will print your string from character 11 ("D") forward
また、表示を動的にする必要がある場合は、MID
とINSTR
を組み合わせることができます(もちろん、これはデータの形式が一貫している場合にのみ機能します)。
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の開発
UもそのようなSplit
関数を使用できると思います
Split ({field_name},"-")[2]
ただし、分割関数を使用する場合は、文字列に区切り文字が存在することを確認するか、実行時エラーを防ぐための条件を追加する必要があります。 Split関数は配列を返しますが、ゼロで始まりません。それじゃ意地悪だね [1]
は最初の部屋で、[2]
は2番目の部屋です。