以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]已解决!异常考勤处理 去掉不必要打卡记录按条件复制数据到另一个表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75977) |
||||||||
-- 作者:xiangwei_zeng -- 发布时间:2015/10/19 10:54:00 -- [求助]已解决!异常考勤处理 去掉不必要打卡记录按条件复制数据到另一个表 想通过改写如下代码让表M实现表B的效果,即复制行时进行一些判断,将重复考勤不记录但又不留空白(打卡时间距上次打卡时间在5分钟内视为重复考勤),代码写在配置栏的标准按钮1上。 Dim dr2 As DataRow
试用版的代码在窗口中写的。
[此贴子已经被作者于2015/10/21 12:34:50编辑过]
|
||||||||
-- 作者:大红袍 -- 发布时间:2015/10/19 11:14:00 -- 1、你要在foxtable还是在excel里处理;是问怎么生成这样的报表还是问怎么把单元格标成黄色。
2、请上传具体foxtable例子 |
||||||||
-- 作者:xiangwei_zeng -- 发布时间:2015/10/20 21:17:00 -- 问题待解决,请哪位高手帮助,谢谢! |
||||||||
-- 作者:大红袍 -- 发布时间:2015/10/20 21:33:00 -- Dim dr2 As DataRow For Each dr1 As DataRow In DataTables("表D").DataRows dr2 = DataTables("表M").AddNew() Dim p As Date = Nothing Dim i As Integer = 1 For Each dc As DataCol In DataTables("表D").DataCols If dc.Name Like "刷卡*" AndAlso dc.name <> "刷卡日期" Then If dr1.IsNull(dc.name) = False Then Dim sp As TimeSpan = cdate(dr1(dc.name)) - p If sp.TotalMinutes > 5 Then dr2("刷卡" & i) = dr1(dc.Name) i += 1 p = dr1(dc.Name) End If End If Else dr2(dc.name) = dr1(dc.name) End If Next Next |
||||||||
-- 作者:xiangwei_zeng -- 发布时间:2015/10/21 12:33:00 -- 谢谢红茶哥!问题已经解决,老婆做考勤的,现在用这个每天可省不少时间!太感谢了! |