以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教:领取时间自动加上保修期限12月份 后得到的时间和当前日期比较 如果大于当前日期 代码怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55910)

--  作者:李孝春
--  发布时间:2014/8/25 22:55:00
--  求教:领取时间自动加上保修期限12月份 后得到的时间和当前日期比较 如果大于当前日期 代码怎么写
求解:
在一表中有如下三个字段
领取时间  保修期限  保修状态  失效天数

领取时间  2014-08-25 12:52:12
保修期限  12
保修状态 保修期内
过保时间
失效天数 



想实现领取时间自动加上保修期限12月份  后得到的时间和当前日期比较  如果大于当前日期 保修状态为 “保修期内”  反之为“保修失效” 并计算出“失效天数”

求教部份为:领取时间自动加上保修期限12月份  后得到的时间和当前日期比较  如果大于当前日期 反之要计算出”失效天数“ 

Select Case e.DataCol.Name
    Case "领取时间","保修期限"
e.DataRow("过保时间")=e.DataRow("领取时间").AddDays(e.DataRow("保修期限"))
end select 

if e.DataRow("过保时间")<date.now then
e.DataRow("失效天数")=date.now - e.DataRow("过保时间")
end  if 


我怎么也计算不出结果  求解!


--  作者:有点甜
--  发布时间:2014/8/25 23:00:00
--  

 

[此贴子已经被作者于2014-8-25 23:00:29编辑过]

--  作者:有点甜
--  发布时间:2014/8/25 23:02:00
--  
lect Case e.DataCol.Name
Case "领取时间","保修期限"
    e.DataRow("过保时间") = e.DataRow("领取时间").AddMonths(e.DataRow("保修期限"))
    If e.DataRow("过保时间") < Date.now Then
        e.DataRow("失效天数")= (Date.now - e.DataRow("过保时间")).TotalDays
        e.DataRow("保修状态")= "保修失效"
    Else
        e.DataRow("失效天数")= Nothing
        e.DataRow("保修状态")= "保修期内"
    End  If
End Select

--  作者:hws005
--  发布时间:2014/8/25 23:19:00
--  

公式就这样,你改改

Dim Day As Date = #8/25/2014#

Dim dt As Date = Date.Today  \'当前日期   #8/29/2015#
Dim gb As Date = day.AddMonths(12)
Dim ts As TimeSpan = gb - dt
If gb < dt
    output.show("已过期:" & ts.Days & "天")
Else
    output.show("保修期内")
End If

[此贴子已经被作者于2014-8-25 23:19:11编辑过]

--  作者:李孝春
--  发布时间:2014/8/26 0:16:00
--  回复:(有点甜)lect Case e.DataCol.NameCase "领取...
感谢有点甜老师  感谢伟盛
--  作者:李孝春
--  发布时间:2014/8/26 18:46:00
--  回复:(有点甜)lect Case e.DataCol.NameCase "领取...
有点甜老师   代码运行提示如图错误

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140827184559.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/8/26 18:50:00
--  
e.DataRow("失效天数")= (Date.now - CDate(e.DataRow("过保时间"))).TotalDays
--  作者:李孝春
--  发布时间:2014/8/26 19:07:00
--  回复:(有点甜)e.DataRow("失效天数")= (Date.now -...
谢谢