2009-11-30 4 views
0

Я разработал метод обход поскольку отчеты хрустальных, кажется, не имеет функцию подстроки по следующей формуле:Crystal Reports: подстроки ошибка

правых ({_ v_hardware.groupname}, усеченных (Instr (заменить ({_ v_hardware.groupname} "", " "),", "))

То, что я пытаюсь сделать, это поиск за период (".") в строке и замените его запятой, затем найдите запятую в строке и напечатайте все символы, следующие за запятой. Предполагается, что строка будет иметь только 1 период i n всю строку.

Теперь, когда я пытаюсь это сделать, я получаю некоторые странные персонажи, которые выглядят как крылья. Есть идеи?

благодарит заранее.

+0

Какова ваша версия CR, и какую базу данных или файл данных вы используете? –

ответ

1

Я не знаю всей проблемы, которую вы пытаетесь выполнить, но для этого вопроса шаг замены запятой представляется ненужным. Если вы знаете, что есть только один период в строке, и вы хотите только символы справа от периода, то вы должны быть в состоянии сделать что-то вроде следующего (это @first_formula):

right({_v_hardware.groupname}, len({_v_hardware.groupname}) - instr({_v_hardware.groupname},".")) 

Если для некоторых Причина, по которой вы хотите показать запятую, тогда я бы сделал это в отдельной формуле. Если вам нужен весь экран с запятой заменить то просто сделать:

replace({_v_hardware.groupname},".",",") 

И если вам нужна запятая плюс включены в строку, то это может быть просто легче сделать что-то вроде:

"," + {@first_formula} 

Надеюсь это поможет.

+0

Ах, человек, еще нет перевертышей для правильного ответа. :) – Dusty

Смежные вопросы