以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13670) |
-- 作者:zhangxl1964 -- 发布时间:2011/10/22 10:03:00 -- 求助 这段代码执行时,只能计算出勤1,双休轮休1不能计算,求助修改。 \'出勤代码 Dim shuangxiulunxiu As Decimal=e.DataRow("双休轮休1") |
-- 作者:狐狸爸爸 -- 发布时间:2011/10/22 10:08:00 -- 蒙一下:
Dim r As DataRow = e.DataRow |
-- 作者:zhangxl1964 -- 发布时间:2011/10/22 16:09:00 -- 还请高手帮助,代码执行时退出系统。 Dim r As DataRow = e.DataRow End If |
-- 作者:狐狸爸爸 -- 发布时间:2011/10/22 16:24:00 -- 参考这个,找出错误代码位置:
http://www.foxtable.com/help/topics/1485.htm
|
-- 作者:zhangxl1964 -- 发布时间:2011/10/22 17:08:00 -- 能否指点一下啊,我直在找不出。 |
-- 作者:狐狸爸爸 -- 发布时间:2011/10/22 17:15:00 -- 没有人能一眼看出错误代码来的,用上面的方法找出错误代码位置,根据错误提示,就能基本知道错误原因了。 |
-- 作者:don -- 发布时间:2011/10/22 17:53:00 -- 錯誤原因,蒙一下:少了判斷If e.DataCol.Name = "确认考勤" Then 代碼似滿天毒蜂,看著煩啊,幫你簡化下,看看是否正確: If e.DataCol.Name = "确认考勤" Then Dim r As DataRow = e.DataRow If r("确认考勤")=True Then Dim Ls As String() = {"一","二","三","四","五","六","日"} Dim chuqin,fadingchuqin As Decimal Dim n,n1 As integer For n = 0 to 4 for each s as string in Ls chuqin+ = r("第" & Ls(n) & "周_" & s ) Next Next If r("班组") = "27保安" Then chuqin=Math.Floor((chuqin/8+r("调休") + r("年休假"))*100+0.5)/100 Else fadingchuqin= Tables("法定出勤").Compute("Sum(出勤天数)", "日期= #" & r("考勤日期") & "#") chuqin=Math.Floor((fadingchuqin-chuqin/8+r("调休") + r("年休假"))*100+0.5)/100 End If r("出勤1")=chuqin chuqin = 0 For n = 0 To 4 For n1 = 5 To 6 chuqin+ = r("第" & Ls(n) & "周加班_" & Ls(n1) ) Next Next If chuqin/8+r("节日加班1")>4Then r("双休轮休1") = Math.Floor(chuqin/8 - r("双休加班1")*100+0.5) / 100 End If End If If r("确认考勤")<>True Then r("出勤1")=Nothing End If End If [此贴子已经被作者于2011-10-22 18:24:19编辑过]
|
-- 作者:hanxuntx -- 发布时间:2011/10/22 18:09:00 -- 这么复杂的代码。出错了还真是不好找啊 |
-- 作者:程兴刚 -- 发布时间:2011/10/22 22:00:00 -- 调整一下文件结构用日期列来统计比这个方便多了! |