以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  有关format日期的问题(已解决)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=6799)

--  作者:yangming
--  发布时间:2010/4/26 14:23:00
--  有关format日期的问题(已解决)

在入库明细表的DataColChanged 事件中加入这样的代码

If e.DataCol.Name = "入库日期" Or e.DataCol.Name ="商品代码"
        If e.DataRow.IsNull("入库日期") Or e.DataRow.IsNull("商品代码") Then 
            e.DataRow("入库批次") = Nothing \'如果为空,则清除
        Else
            e.DataRow("入库批次") = e.DataRow("商品代码") & "-" & format(e.DataRow("入库日期"),"yyyymmdd")

        End If
End If
我希望得到的是这样的效果:20100424-DHF00712
可结果却是:20100024-DHF00712  ’ 为何此处红色部分不对,应该是04,却是00

[此贴子已经被作者于2010-4-26 15:14:59编辑过]

--  作者:mr725
--  发布时间:2010/4/26 14:29:00
--  
日期没有yyyymmdd格式吧,只有yyyy-mm-dd. 
好似这样?: e.DataRow("入库日期").year & e.DataRow("入库日期").month & e.DataRow("入库日期").days

或者: e.DataRow("入库日期").replace("-","")
[此贴子已经被作者于2010-4-26 14:29:51编辑过]

--  作者:程兴刚
--  发布时间:2010/4/26 14:35:00
--  
以下是引用mr725在2010-4-26 14:29:00的发言:
日期没有yyyymmdd格式吧,只有yyyy-mm-dd. 
好似这样?: e.DataRow("入库日期").year & e.DataRow("入库日期").month & e.DataRow("入库日期").days

或者: e.DataRow("入库日期").replace("-","")
[此贴子已经被作者于2010-4-26 14:29:51编辑过]


谁说的?format的月份应该是MM,比如:

Output.show(format(date.today(),"yyyyMMdd"))


--  作者:yangming
--  发布时间:2010/4/26 14:36:00
--  
但是我在增加行事件代码中做的另一个代码,却能正确显示啊,呵呵,请看结果:RK-20100424002

e.DataRow("入库单编号") = "RK-" & format(e.DataRow("入库日期"),"yyyymmdd") & format(e.DataRow("编号") ,"000")
--  作者:程兴刚
--  发布时间:2010/4/26 14:39:00
--  
您就统一规范用大写不就可以了,估计是有的事件没有自动识别大小写吧!
--  作者:yangming
--  发布时间:2010/4/26 14:49:00
--  
以下是引用程兴刚在2010-4-26 14:39:00的发言:
您就统一规范用大写不就可以了,估计是有的事件没有自动识别大小写吧!

大写字母?
晕死,我改成这样,它才认
format(e.DataRow("入库日期"),"yyyyMMdd")
也就是说,MM非得要大写,年和日都可以

[此贴子已经被作者于2010-4-26 14:51:57编辑过]

--  作者:程兴刚
--  发布时间:2010/4/26 15:07:00
--  
format格式化日期时间的帮助上就是这样的呀?
--  作者:yangming
--  发布时间:2010/4/26 15:14:00
--  
以下是引用程兴刚在2010-4-26 15:07:00的发言:
format格式化日期时间的帮助上就是这样的呀?

这一点我还是延续了易表的写法了,呵呵


--  作者:程兴刚
--  发布时间:2010/4/26 15:19:00
--  
哦,是的,易表是小写的!
--  作者:baoxyang
--  发布时间:2010/4/26 15:38:00
--  

两边都学好的缘故,是比较弄糊涂的。