以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何实现自动编号功能?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=12219)

--  作者:jsgycy
--  发布时间:2011/8/26 11:34:00
--  [求助]如何实现自动编号功能?

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
如何实现如图功能?烦请老师指导
--  作者:紙上不談兵
--  发布时间:2011/8/26 11:54:00
--  
如允许断号,参考:

美化自动编号

前面已经提到,由于自动编号列_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生成的编号,大概也只能做成这样了,如果你对编号有特殊的格式要求,那么还是保留原来的编号列,手工输入编号较好。


--  作者:狐狸爸爸
--  发布时间:2011/8/26 12:09:00
--  

http://www.foxtable.com/help/topics/0107.htm

http://www.foxtable.com/help/topics/1443.htm