美化自动编号

前面已经提到,由于自动编号列_Identify的存在,我们可以删除原来的产品编号、客户编号、订单编号等列,新增一个同名的整数型表达式列,表达式设为:

[_Identify]

不少人会希望,编号能够按照下面的格式显示:

0001
0002
0003
....

要实现这样的格式很简单,只需在列属性设置中,将该列的“固定整数位数”设为4即可,你需要多少位都可以。

有的时候我们对于编号的格式会有更多的要求,例如要求编号为:

MP0001
MP0002
MP0003
...
MP0123
MP0124
...
MP1000
MP1001

编码的规则是:前面是两个字母,后接4个数字,不够的时候自动补充0。

为实现这个目的,可以将编号列的表达式改为:

'MP' + SubString('0000', 1, 4 - Len(Convert([_Identify],'System.String'))) + Convert([_Identify], 'System.String')

实际上,上面的表达式是通用的,如果要求后接6个数字,不够的时候自动补充0,表达式为:

'MP' + SubString('000000', 1, 6 - Len(Convert([_Identify],'System.String'))) + Convert([_Identify], 'System.String')

基于_Identify生成的编号,大概也只能做成这样了,如果你对编号有特殊的格式要求,那么还是保留原来的编号列,手工输入编号较好。


本页地址:http://www.foxtable.com/webhelp/topics/1443.htm