以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  用表达式如何生成02 09 这样的月份  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=9202)

--  作者:sheep204
--  发布时间:2011/3/11 11:25:00
--  用表达式如何生成02 09 这样的月份
我看了帮助文件,当月份为单数时,用表达式
SubString(Convert([日期],\'System.String\'),6,IIF(SubString(Convert([日期],\'System.String\'),7,1) = \'-\',1,2))

只能生成2、3、9这样的月份,如何用表达式生产02 03 09这样自动补0的两位数月份
[此贴子已经被作者于2011-3-11 11:25:11编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/3/11 11:29:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.table

 

表达式是一样的,不过我设置了列属性,固定整数位数为2


--  作者:kylin
--  发布时间:2011/3/11 12:48:00
--  

如果这个取值计算的列设为“字符型”,那么这个表达式就可以得到你的要求,否则按老六提供例子去完成。


--  作者:sheep204
--  发布时间:2011/3/11 13:24:00
--  
以下是引用狐狸爸爸在2011-3-11 11:29:00的发言:

 下载信息  [文件大小:296.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.table

 

表达式是一样的,不过我设置了列属性,固定整数位数为2

如果是字符型的呢?我想把日期作为编号的流水号。是不是需要在rowadd事件中写代码

[此贴子已经被作者于2011-3-11 14:11:43编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/3/11 14:32:00
--  

如果是字符型,在Windows 7/Vista下:

 

IIF(SubString(Convert([日期],\'System.String\'),7,1) = \'/\',\'0\',\'\') +  SubString(Convert([日期],\'System.String\'),6,IIF(SubString(Convert([日期],\'System.String\'),7,1) = \'/\',1,2))

 

在Windows XP下:

 

IIF(SubString(Convert([日期],\'System.String\'),7,1) = \'-\',\'0\',\'\') +  SubString(Convert([日期],\'System.String\'),6,IIF(SubString(Convert([日期],\'System.String\'),7,1) = \'-\',1,2))

 

如果要日期流水号,应该在DataRowAdded事件中写代码,这个时候就不应该用表达式列了,用代码很方便。