Foxtable(狐表)用户栏目专家坐堂 → 计算工时的难题,同一天多次出工,只计算一次。附例子


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

主题:计算工时的难题,同一天多次出工,只计算一次。附例子

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


加好友 发短信
等级:幼狐 帖子:190 积分:1445 威望:0 精华:0 注册:2011/6/17 6:33:00
计算工时的难题,同一天多次出工,只计算一次。附例子  发帖心情 Post By:2012/3/30 9:50:00 [显示全部帖子]


就输入了几行数据

目前的代码是,

点击生成,从表中读取数据(条件省略);
点击统计,计算每个员工姓名出现的次数,记作外勤数(已经做好)。


现在的问题是:可能当天一个员工会出现在好几个任务中,就会记作多次出勤,黑心老板说每天只能记作一次外勤

就是每天,每个人最多只能计1次外勤。水平有限……想不出了


代码在窗口的2个按钮里,大家帮忙看看~~谢谢了~~


Dim s,s1 As String
Dim n As Integer
Dim ls As New List(of String)
Dim dt As DataTable =DataTables("考勤_Table1")
For Each dr As DataRow In dt.Select("参与员工 Is Not null")
    For Each s In dr("参与员工").split(",")
        If Ls.Contains(s)= False Then
            Ls.Add(s)
        End If
    Next
Next

Dim t As Table =Tables("考勤")
t.StopRedraw
t.DataTable.DataRows.Clear
For Each s In ls
    s1 = "参与员工 like '*" & s & "*'"
    MessageBox.Show(s1)
    Return
    n =dt.Compute("count(参与员工)",s1)
    Dim r As Row =t.addnew
    r("姓名") = s
    r("次数") = n
Next
t.ResumeRedraw

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


[此贴子已经被作者于2012-3-30 9:49:51编辑过]

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


加好友 发短信
等级:幼狐 帖子:190 积分:1445 威望:0 精华:0 注册:2011/6/17 6:33:00
  发帖心情 Post By:2012/3/30 10:50:00 [显示全部帖子]

谢谢,我先研究一下

如果还要判定周末的话,也可以参考这段代码吧

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


加好友 发短信
等级:幼狐 帖子:190 积分:1445 威望:0 精华:0 注册:2011/6/17 6:33:00
  发帖心情 Post By:2012/3/31 15:29:00 [显示全部帖子]

抱歉。。狐爸给我的这段代码还是吃不透,本来想改进下,用来判定双休日工时的


我只有曲线救国,想要从生成的数据中删除非周末的数据,可是还是不行,达不到效果。麻烦看看,谢谢

For Each dr As DataRow In DataTables("考勤_Table1").DataRows
    Dim dt As String = dr("工程时间").DayOfWeek
    If dt <> 0 and dt <> 6 Then
        Tables("考勤_Table1").Current.Delete
    End If
Next

需要发个例子么?

 回到顶部