以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教工龄计算代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=906) |
||||
-- 作者:老有所乐 -- 发布时间:2008/10/17 12:07:00 -- 请教工龄计算代码 请教“工龄”代码 If e.DataCol.Name = "大学以上入校时间" Then 如果“大学以上入校时间”为空或晚于“参加工作时间”,实际工龄就按参加工作时间计算,代码为应如何设置?谢谢!
另发现在日期时间型列的单元格内按2次空格键,就是当天的日期,不用任何代码。 [此贴子已经被作者于2008-10-17 12:11:43编辑过]
|
||||
-- 作者:ybil -- 发布时间:2008/10/17 13:06:00 -- Dim d1 as Date = e.dataRow("参加工作时间") Dim d2 as Date = e.dataRow("大学以上入校时间") If e.DataCol.Name = "大学以上入校时间" OrElse e.DataCol.Name = "参加工作时间" Then If e.dataRow.ISNull("参加工作时间") AndAlso e.dataRow.ISNull("大学以上入校时间") Then e.Datarow("工龄") = nothing ElseIf e.dataRow.ISNull("参加工作时间") Then e.dataRow("工龄") = Date.Today.Year - d2.Year ElseIf e.dataRow.ISNull("大学以上入校时间") OrElse (d1-d2).days < 0 Then e.Datarow("工龄") = Date.Today.Year - d1.Year Else End If End If |
||||
-- 作者:smileboy -- 发布时间:2008/10/17 13:20:00 -- If e.DataCol.Name = "大学以上入校时间" or e.DataCol.Name = "参加工作时间" Then If e.dataRow.ISNull("大学以上入校时间") and e.dataRow.isnull("参加工作时间") Then e.Datarow("工龄") = nothing end if if e.dataRow("大学以上入校时间")<e.dataRow("参加工作时间") Then e.dataRow("工龄") = Date.Today.Year - e.dataRow("参加工作时间").Year else e.dataRow("工龄") = Date.Today.Year - e.dataRow("大学以上入校时间").Year End If End If |
||||
-- 作者:ybil -- 发布时间:2008/10/17 13:23:00 -- 以下是引用老有所乐在2008-10-17 12:07:00的发言:
另发现在日期时间型列的单元格内按2次空格键,就是当天的日期,不用任何代码。 日期的输入 对于日期列,我们推荐将列属性“使用内置输入器”设为True(是)。 在使用内置输入器的情况下: 1、单击单元格右侧的按钮,会出现一个日历,单击日历中的一个日期,即可在单元格中输入所单击日期。 2、选择日期列中一个空白单元格,按空格键进入编辑状态,再次按空格键,即可输入当天日期。 3、如果直接输入日期,只需按年四位、月两位、日两位的格式输入数字,无需输入横线,因为日期列已经自动设置掩码。 提示:即使没有使用内置输入器,上述2、3点也同样有效。 |
||||
-- 作者:老有所乐 -- 发布时间:2008/10/17 14:25:00 -- 谢谢两位! |