我在水晶报告中有一个计算字段,它以数字开头,并且已经作为文本排序。我想像数字一样排序。计算字段由两个数字字段和一个文本字段组成。喜欢这个:
{numberfield1} & "." & {numberfield2} & " " & {textfield}
报告显示如下数据(已排序):
1.2 sometext
10.3 sometext
2.30 sometext
2.4 sometext
我想要实现的是首先对 {numberfield1} 进行排序,然后对 {numberfield2} 进行排序,结果如下:
1.2 sometext
2.4 sometext
2.30 sometext
10.3 sometext
我已经试过了:
http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=19668所以我的代码看起来像这样:
totext({numberfield1},"00", 0) & "." &
totext({numberfield2},"00",0) & " " &
{textfield}
据我了解,这段代码应该隐藏前导零。但事实并非如此。前导零仍显示在报告中。至少,排序是有效的。结果:
01.02 sometext
02.04 sometext
02.30 sometext
10.30 sometext
我也试过:
cstr(val({numberfield}))
totext(tonumber({numberfield}))
这些删除了前导零,但排序不起作用。
非常感谢您的时间!
创建第一个公式。让我们称之为"TheOneThatYouSee":
{numberfield1} & "." & {numberfield2} & " " & {textfield}
//i just copied your formula
创建第二个公式。让我们称之为"TheOneThatYouDoNotSee":
totext({numberfield1},"00", 0) & "." &
totext({numberfield2},"00",0) & " " &
{textfield}
//i just copied your formula
然后你按TheOneThatYouDoNotSee排序(分组依据)。
然后你把 TheOneThatYouSee 放在详细信息部分。