Foxtable(狐表)用户栏目专家坐堂 → 考勤报表


  共有3879人关注过本帖树形打印复制链接

主题:考勤报表

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/8 19:32:00 [显示全部帖子]

 不能直接你那样统计啊,你要用代码先计算出结果

 

 你要循环这个人的每一行,获取到加班时间,然后累加,才行。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/11 14:24:00 [显示全部帖子]

都说不能直接统计啊

 

For Each dr As DataRow In e.DataRow.DataTable.Select("姓名 = '" & e.DataRow("姓名") & "'")
    '循环每一行,累加值
Next


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/12 1:22:00 [显示全部帖子]

参考代码

 

Dim sum As Double = 0
For Each dr As DataRow In e.DataRow.DataTable.Select("姓名 = '" & e.DataRow("姓名") & "'")
    Dim d As Date = dr("加班时间")
    sum += d.Hour * 3600 + d.Minute * 60 + d.Second
Next
e.Book.Marks("加班总计") = sum / 3600


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/12 11:31:00 [显示全部帖子]

这样写

 

<考勤明细,姓名|日期>


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/12 15:00:00 [显示全部帖子]

If e.Book.Marks("迟到总计")< 5 AndAlso e.Book.Marks("迟到总计")>0 Then
    sum2 = e.Book.Marks("加班总计")*18-10
ElseIf e.Book.Marks("迟到总计")>0 Then
    sum2 = e.Book.marks("加班总计")*18-(e.Book.Marks("迟到总计")-5)*10-10
End If

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/12 17:41:00 [显示全部帖子]

e.Book.Marks("加班总计") = Format(sum/3600, "0.00")

 回到顶部