以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何实现自动编号?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174571)

--  作者:lgz518
--  发布时间:2022/1/21 13:45: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生成的编号,大概也只能做成这样了,如果你对编号有特殊的格式要求,那么还是保留原来的编号列,手工输入编号较好。

1.上面是表达式生成,表达式不是存入数据,那要入存便于后续引用,是不是只能在写个字段取值表达式的编号?

2.附件有二个关键点:1.取汉字字母和取前一个编号?2,是重点中重点难点,删除后不断号?



图片点击可在新窗口打开查看此主题相关图片如下:自动编号.jpg
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2022/1/21 13:51:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=144549&skin=0