2010-01-06 88 views
0

当我运行以下命令:crystal报告:left()函数输出符号?

left({_v_kap.cpudesc}, (instr({_v_kap.cpudesc},","))) 

的功能输出:¤¤Y¤和其他变化

但是如果我只是运行

left({_v_kap.cpudesc}, 48) 

它正确返回字符串,最多字符48 如果我只是运行

instr({_v_kap.cpudesc},",") 

它返回48

如果我将它们合并,不应该这样工作吗? 有什么想法?

回答

1

想通了。如果instr()函数找不到该项目,则整个函数都会弹出。

我检查了语句,看它是否大于零。检查它是否运行,执行它,否则不检查逗号

POS:= INSTR({_ v_kap.cpudesc}, “”)

如果pos> 0,则 左({_ v_kap。 cpudesc},(INSTR({_ v_kap.cpudesc}, “”))) 其他 {} _v_kap.cpudesc

这个固定的问题。

0

菲尔,

在你的代码提供一个 “)” 丢失。

我相信它应该是

left({_v_kap.cpudesc}, (instr({_v_kap.cpudesc},","))) 

Thnks

+0

我补充说,它似乎没有区别。感谢您的回应 – phill 2010-01-07 15:22:06