以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这段表达式怎么理解  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145808)

--  作者:天宇科技
--  发布时间:2020/2/7 22:08:00
--  这段表达式怎么理解
\'MP\' + SubString(\'0000\', 1, 4 - Len(Convert([_Identify],\'System.String\'))) + Convert([_Identify], \'System.String\')

这是帮助中美化自动编号,应该怎样理解


--  作者:有点蓝
--  发布时间:2020/2/7 22:55:00
--  
为了补齐4位数。http://www.foxtable.com/webhelp/topics/0102.htm

比如当前主键值为整数23,转换为字符串"23","23"取长度【Len(Convert([_Identify],\'System.String\'))】结果为2,那么【4 - Len(Convert([_Identify],\'System.String\'))】就是4-2=2,【SubString(\'0000\', 1, 4 - Len(Convert([_Identify],\'System.String\')))】就等于【SubString(\'0000\', 1, 2)】表示字符串“0000”从第一位开始取2个字符,结果就是“00”,最后就等于\'MP\'+\'00\'+\'23\'=MP0023