以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于时间计算问题的判断  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=31258)

--  作者:若水三千
--  发布时间:2013/4/12 13:05:00
--  关于时间计算问题的判断

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

各位大哥 请问

如果开始日期 距离 今天未满6个月 则评定等级 为一级

如果开始日期 距离 今天 满6个月 且 在职时长 < (离职日期 - 开始日期)/2 则评定等级 = 二级

如果开始日期距离今天满6个月  且 在职时长 > (离职日期 - 开始日期)的5分之1  则 三级

如果开始日期 距离今天满6个月 且 在职时长 > (离职日期 - 开始日期)/2 则为四级

Select Case e.DataCol.Name
    Case "开始时间"
        If e.DataRow.IsNull("开始时间") = False AndAlso CDate(e.DataRow("开始时间")) > Date.Today.AddMonths(-6) 
            e.DataRow("评定等级") = "二级"
        ElseIf e.DataRow.IsNull("开始时间") = False AndAlso CDate(e.DataRow("开始时间")) > Date.Today.AddMonths(-6)  Then
            e.DataRow("评定等级") = "一级"
        ElseIf e.DataRow("入监时间") = False AndAlso CDate(e.DataRow("开始时间")) > Date.Today.AddMonths(6)
            e.DataRow("评定等级") = "三级"
        End If
End Select

怎么改啊 该来改去不对啊 请教各位 多谢各位帮我把这个例子做下哈


--  作者:若水三千
--  发布时间:2013/4/12 14:48:00
--  
各位大哥帮帮忙
--  作者:若水三千
--  发布时间:2013/4/12 15:01:00
--  
谢谢木华大哥
--  作者:若水三千
--  发布时间:2013/4/12 15:02:00
--  

大哥 版本过高 我打不开啊


--  作者:打错潇洒
--  发布时间:2013/4/12 15:08:00
--  
看看 图片点击可在新窗口打开查看
--  作者:Bin
--  发布时间:2013/4/12 15:15:00
--  
如果开始日期 距离 今天 满6个月 且 在职时长 < (离职日期 - 开始日期)/2 则评定等级 = 二级  逻辑有问题吧.首先 这个永远都不会成立

如果开始日期距离今天满6个月  且 在职时长 > (离职日期 - 开始日期)的5分之1  则 三级   永远都成立

如果开始日期 距离今天满6个月 且 在职时长 > (离职日期 - 开始日期)/2 则为四级             永远都成立


在职时长不就是   离职日期-开始日期么.      所以在职时长肯定永远都小于在职时长/2啊
同样      在职时长肯定永远都大于在职时长/2 或者在职时长的5分1
[此贴子已经被作者于2013-4-12 15:17:19编辑过]

--  作者:若水三千
--  发布时间:2013/4/12 15:16:00
--  
不会的 在职时长 是 等于 离职时间 - 入值时间的啊
--  作者:若水三千
--  发布时间:2013/4/12 15:18:00
--  
木华大哥 错了 在职时长 等于 离职日期-入职日期啊 在职时长 不是 手填的