Foxtable(狐表)用户栏目专家坐堂 → 求助代码(考勤表)


  共有2700人关注过本帖平板打印复制链接

主题:求助代码(考勤表)

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


加好友 发短信
等级:幼狐 帖子:141 积分:1227 威望:0 精华:0 注册:2018/2/22 10:06:00
求助代码(考勤表)  发帖心情 Post By:2018/7/16 17:03:00 [只看该作者]

老师,求教下关于考勤计算和统计的代码

 

考勤机导出一个表,表明为“打卡记录”,表内有三列数据,A列 为员工编号;B列 为打卡时间(日期时间格式);在此基础上我以公式形式生成了C列(索引列)  为员工编号+打卡日期(没有时间)以此列作为索引标识,区分同一个员工在同一天的打卡次数

 

需求:在狐表系统有一个表“考勤台账”,表内有【员工编号】列,【打卡日期】列(没有时间),【早打卡时间】列,【晚打卡时间】列,我以代码形式如何实现:在导入数据的时候,同一个员工,同一天的最早打卡时间放入该员工编号和同打卡日期的【早打卡时间】列;同理,将同一个员工,的同一天的最后一次打卡时间放入该员工编号和同打卡日期的【晚打卡时间】列

 

当前导入按钮的代码如下,能导入数据,但是没有上述功能,烦劳老师指点下代码,新手上路多多帮忙!!

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog =DialogResult.OK Then
    Dim t As Table = Tables("考勤台账")
    t.StopRedraw()
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim newcount As Integer = 0
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim r As DataRow
        r = t.DataTable.AddNew()
        newcount += 1
        For i As Integer = 0 To sheet.Cols.Count -1
            Dim cname As String = sheet(0, i).text
            If t.Cols.Contains(cname) Then
                r(cname) = sheet(n, i).Text
            End If
        Next
    Next
    msgbox("已导入 " & newcount &" 行数据")
    t.ResumeRedraw()
End If


 回到顶部