以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 签到次数统计请教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60850) |
||||
-- 作者:qiaozhenghua -- 发布时间:2014/12/2 14:08:00 -- 签到次数统计请教 ![]() ![]() ![]() ![]() 有上面两个表(表A和表B),表B的“上午签到次数”列通过表A自动统计。条件是:每天7点至8点签一次或多次只计一次。用代码如何实现。
[此贴子已经被作者于2014-12-2 14:26:36编辑过]
|
||||
-- 作者:Bin -- 发布时间:2014/12/2 14:20:00 -- 传图和文件参考这里 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78 把你项目文件传上来吧 可以利用Compute 统计 http://www.foxtable.com/help/topics/0393.htm 条件设置为7-8电即可
|
||||
-- 作者:qiaozhenghua -- 发布时间:2014/12/2 14:28:00 -- 那样只能统计一天的 |
||||
-- 作者:有点甜 -- 发布时间:2014/12/2 14:47:00 -- For Each dr As DataRow In DataTables("表B").Select("工号 is not null") Dim drs As List(Of DataRow) = DataTables("表A").Select("工号 = \'" & dr("工号") & "\'", "签到时间") Dim count As Integer = 0 Dim pd As Date = Nothing For Each cdr As DataRow In drs If cdr("签到时间").Hour < 8 AndAlso (Cdate(cdr("签到时间")) - pd).totalHours > 1 Then pd = cdr("签到时间") count += 1 End If Next dr("上午签到次数") = count Next |
||||
-- 作者:qiaozhenghua -- 发布时间:2014/12/3 15:59:00 -- 非常感谢有点甜老师的指点。请教一下参数.totalHours是不是应该改为.TotalDays |
||||
-- 作者:有点甜 -- 发布时间:2014/12/3 16:05:00 -- 不用改。 |