Foxtable(狐表)用户栏目专家坐堂 → 请教老师考勤数据处理


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

主题:请教老师考勤数据处理

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/2 21:10:00 [显示全部帖子]

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("编号", Gettype(String), 16)
dtb.AddDef("打卡时间", Gettype(Date))
For Each r As Row In Tables("班次").Rows
    dtb.AddDef(r("打卡时段"), Gettype(Date))
Next
dtb.Build()
MainTable= Tables("统计")
For Each r As Row In Tables("班次").Rows
    DataTables("统计").DataCols(r("打卡时段")).SetDateTimeFormat(DateTimeFormatEnum.Time)
Next
Dim ds As List(Of String) = DataTables("考勤表").SQLGetValues("编号+','+format(打卡时间,'yyyy-MM-dd')")
For Each s As String In ds
    Dim s1() As String = s.Split(",")
    Dim r1 As Row = Tables("统计").AddNew
    r1("编号") = s1(0)
    Dim d As Date = cdate(s1(1))
    r1("打卡时间") = s1(1)
    For Each dr As DataRow In DataTables("考勤表").Select("编号='" & s1(0) & "' And 打卡时间 >= #" & d & "# And 打卡时间<#" & d.AddDays(1) & "#")
        Dim d2 As Date = cdate(Format(dr("打卡时间"),"1900-01-01 HH:mm:ss"))
        Dim dr2 As DataRow = DataTables("班次").Find("起始时间 <= #" & d2 & "# And 结束时间 >=#" & d2 & "#")
        If dr2 IsNot Nothing Then
            r1(dr2("打卡时段")) = d2
        End If
    Next
Next
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考勤.zip


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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/3 8:48:00 [显示全部帖子]

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("编号", Gettype(String), 16)
dtb.AddDef("打卡时间", Gettype(Date))
dtb.AddDef("打卡时段", Gettype(String),255)
dtb.Build()
MainTable= Tables("统计")

Dim ds As List(Of String) = DataTables("考勤表").SQLGetValues("编号+','+format(打卡时间,'yyyy-MM-dd')")
For Each s As String In ds
    Dim s1() As String = s.Split(",")
    Dim r1 As Row = Tables("统计").AddNew
    r1("编号") = s1(0)
    Dim d As Date = cdate(s1(1))
    r1("打卡时间") = s1(1)
    r1("打卡时段") = DataTables("考勤表").SQLGetComboListString("format(打卡时间,'HH:mm')","编号='" & s1(0) & "' And 打卡时间 >= #" & d & "# And 打卡时间<#" & d.AddDays(1) & "#").replace("|"," ")
Next

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/3 11:13:00 [显示全部帖子]

用法和上面差不多,创建临时表,然后根据考勤表数据进行填充。

论坛搜索“考勤”,看看别人用法

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/4 8:38:00 [显示全部帖子]

内部外部都可以,外部表提示什么错误?

能不能主动一点把错误描述发上来的,方便别人分析问题,还要每次等我们问,何必呢。
[此贴子已经被作者于2019/7/4 8:38:54编辑过]

 回到顶部