在Lotus Notes中基于具有数值的文本字段对视图进行排序时出现问题

时间:2011-05-10 08:31:02

标签: lotus-notes

现有的Lotus Notes数据库表单包含一个包含数值的文本字段。我正在尝试创建一个视图来对这个字段进行排序,但结果如下:

99 1000 1002 1003 101 1011

有没有办法转换字段,所以我可以用数字排序。 Lotus Notes 6.5。

2 个答案:

答案 0 :(得分:2)

在列公式中,使用

将项目转换为数字
@TextToNumber( itemname )

答案 1 :(得分:1)

由于文本字段具有数字值,因此它们仍被视为文字字符串。因此,我发现格式化它们并避免@Errors的最简单方法是用前导零填充它们并继续将它们视为字符串。

这个解决方案的好处是我们仍在处理字符串。对于数据类型转换没有任何问题,您可能无法将数据转换为数字。

因此,请将其放入列公式中,并根据需要将排序选项设置为升序或降序:

MaxSize := 10;
len := @Length(@trim(yourField));
Pad := MaxSize - Len;
@Repeat("0";pad) + @trim(yourField);

确保“MaxSize”值大于其收到的任何值的长度。从你提供的样本中,4看起来就像是诀窍。

(根据Ken的建议),如果填充列的外观不具吸引力,您可以将此列设置为隐藏的已排序列,然后将原始未格式化(未排序)列呈现给用户,以便它以数字顺序出现。