以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87645)

--  作者:zch1104
--  发布时间:2016/7/15 22:49:00
--  求助

    效期1年(12个月)       生产批号为20160605       有效期为20170604  用表达式的话     【生产批号】+9999      大多数都行,

 

     特殊的情况就是     生产批号为20160601     有效期为20170600  (实际应该是20170531),用上述表达式的方法就不行了。

 

   用代码表示我还不会。其他有没有方法可用。如果哪位大神可以的话,帮我写个代码,以供参考,谢谢!!

 

     


--  作者:Hyphen
--  发布时间:2016/7/16 9:10:00
--  
代码作法,把有效期改为数据列:http://www.foxtable.com/webhelp/scr/2494.htm

表DataColChanged事件

Select Case e.DataCol.Name
    Case "生产批号"
        Dim s As String = CStr(e.NewValue)
        Dim d As Date =new Date(s.SubString(0,4),s.SubString(4,2),s.SubString(6,2))
        d = d.AddYears(1).AddDays(-1)
        e.DataRow("有效期") = Format(d,"yyyyMMdd")
End Select