以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  新手请教老师跨表统计的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32500)

--  作者:sanshilyl
--  发布时间:2013/5/3 11:41:00
--  新手请教老师跨表统计的问题
 我有两个表一个是管理人员下井考勤表管理人员下井考核通报表,请教老师实现两个功能:

    1、在管理人员下井考核通报表中的[中班_实际]、[夜班_实际]两列分别统计管理人员下井考勤表中同姓名[班次]为中或夜的个数。

    2、在管理人员下井考核通报表中的[八小时_实际]列中统计管理人员下井考勤表中同姓名的[时长]大于8小时的个数。

    3、在管理人员下井考勤表中怎样让[时长]不为负数。

    第一次学习请各位老师赐教先谢谢了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理人员下井考勤.rar


--  作者:狐狸爸爸
--  发布时间:2013/5/3 14:28:00
--  

这个不能用表达式统计的,首先你要将这些表达式列改为数据列:

http://www.foxtable.com/help/topics/2494.htm

 

 

然后做个统计按钮,按钮的代码为:

 

For Each dr As DataRow In DataTables("管理人员下井考核表").DataRows
    dr("中班_实际") = DataTables("管理人员下井考勤").Compute("Count([_Identify])","姓名 = \'" & dr("姓名") & "\' And 班次 = \'中\' And 下井时间 Is Not Null")
    dr("夜班_实际") = DataTables("管理人员下井考勤").Compute("Count([_Identify])","姓名 = \'" & dr("姓名") & "\' And 班次 = \'夜\' And 下井时间 Is Not Null")
    dr("八小时_实际") = DataTables("管理人员下井考勤").Compute("Count([_Identify])","姓名 = \'" & dr("姓名") & "\' And 班次 = \'中\' And 时长 > 28800")
Next

 

这种类型的统计,可以参考帮助的:

http://www.foxtable.com/help/topics/0681.htm

 


--  作者:sanshilyl
--  发布时间:2013/5/3 17:27:00
--  

谢谢狐狸爸爸问题已解决。

管理人员下井考勤表[时长]列计算时有时为负数。

    比如[下井时间]为23:45[上井时间]为早上07:35那么时长就为负数-16:45,实际应该为7:50

请教这个问题如何解决

谢谢


--  作者:狐狸爸爸
--  发布时间:2013/5/3 17:59:00
--  

表达式改为:

 

[上井时间] - [下井时间] + iif([上井时间] > [下井时间],0,24 * 3600)


--  作者:sanshilyl
--  发布时间:2013/5/3 23:38:00
--  

谢谢老师的帮助,问题已解决。我会努力学习的。

 

再次感谢狐狸爸爸