以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  时间计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62867)

--  作者:风声
--  发布时间:2015/1/9 11:46:00
--  时间计算

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:保修日期.table

 

老师,通过输入购买日期、保修_保修期限的数据后自动计算出为当天后剩余的天数和保修_到期日期。谢谢


--  作者:Bin
--  发布时间:2015/1/9 11:51:00
--  
你保修期限,有没固定格式? 

比如   3年 1年    会不会出现   6个月  半年   2年半  这样的不规则格式.那可不好判断

--  作者:有点甜
--  发布时间:2015/1/9 11:53:00
--  
 保修期限,弄成数值,字符串不好判断。
--  作者:有点甜
--  发布时间:2015/1/9 11:55:00
--  

参考例子

 

http://www.foxtable.com/help/topics/1452.htm

 


--  作者:风声
--  发布时间:2015/1/9 12:54:00
--  
老师,应该是数字3而不是3年
--  作者:有点甜
--  发布时间:2015/1/9 14:10:00
--  
 看4楼,类似的代码我已经写过给你的,你从来没有进步过。
--  作者:Bin
--  发布时间:2015/1/9 14:14:00
--  
DataColChanged事件

If e.DataCol.name="购买日期" OrElse e.DataCol.name= "保修_保修期限" Then
   If e.DataRow.IsNull("购买日期")=False AndAlso e.DataRow.IsNull("保修_保修期限")=False Then
      e.DataRow("保修_到期日期")= e.DataRow("购买日期").AddYears(e.DataRow("保修_保修期限"))
      e.DataRow("保修_剩余天数")=(Date.Today-Cdate(e.DataRow("保修_到期日期"))).Totaldays
   End If
End If

--  作者:风声
--  发布时间:2015/1/9 14:41:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:图像 1.png
图片点击可在新窗口打开查看

 

 


老师,由于保修期限的不确定性保修期可能有6个月或1.5年的数据出现,另外不要有负的天数出现。你是我们的好老师


--  作者:有点甜
--  发布时间:2015/1/9 14:42:00
--  

 自己学帮助去。

 

http://www.foxtable.com/help/topics/0287.htm

 

http://www.foxtable.com/help/topics/1452.htm

 


--  作者:Bin
--  发布时间:2015/1/9 14:46:00
--  
第一个问题,问来还情有可原
把 保修期限 改为以月为单位
.AddYears(e.DataRow("保修_保修期限"))
改为.AddMonths(e.DataRow("保修_保修期限"))

第二个问题,为什么有负数,自己想,  怎么变为整数,自己想.   你从来都没有动过脑,整个项目都是别人帮你写的.

是时候自己动脑思考一下这个小学生数学问题了.