以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  加班统计条件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88774)

--  作者:zhangning
--  发布时间:2016/8/9 13:37:00
--  加班统计条件
月末将考勤数据导入到狐表,表名:考勤机

图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看
加班的定义是:

从17:05开始,30分未单位,
17:05  ~  17:35  为0小时,
17:35(含)  ~  18:05  为0.5小时
18:05(含) ~18:35  为1小时,

依次类推,

如不是节假日,也不是周六日,就将自动判断的加班小时数放在“一倍半加班H”列处,
如不是节假日,是周六日,将放于“二倍加班H”处,
如是节假日,将放于“三倍加班H”处

请问老师,如何达到这种效果?

--  作者:Hyphen
--  发布时间:2016/8/9 14:28:00
--  
用当前时间 - 签退时间进行判断

日期相减用法http://www.foxtable.com/webhelp/scr/0287.htm

增加一个表保存节假日


--  作者:zhangning
--  发布时间:2016/8/9 15:10:00
--  
老师,感觉您说的意思不太对呢
--  作者:zhangning
--  发布时间:2016/8/9 15:15:00
--  
根据签退时间,并根据公司的加班定义,设定好代码,自动算出(不用人去算)加班小时数,
并根据日期,判定出是1.5倍,还是2倍,

--  作者:大红袍
--  发布时间:2016/8/9 15:16:00
--  

比如代码

 

Dim d as date = "19:00"
Dim bz As Date = "17:05"

Dim sp As TimeSpan = d - bz
msgbox(sp.TotalHours)


--  作者:zhangning
--  发布时间:2016/8/9 15:53:00
--  
老师,是不是应该用条件,
例如,签退时间  大于等于17:05,小于17:35时,不算加班(加班小时数为O小时)
                     大于等于17:35,小于18:05时,加班小时数为0.5小时
                     大于等于18:05,小于18:35时,加班小时数未1小时

这样的代码如何写呢

--  作者:大红袍
--  发布时间:2016/8/9 16:00:00
--  

参考

 

Dim d As Date = "18:36"
Dim bz As Date = "17:35"

Dim sp As TimeSpan = d - bz
Dim n As Double = Math.Ceiling(sp.TotalMinutes / 30)

msgbox(n*0.5)


--  作者:zhangning
--  发布时间:2016/8/11 12:53:00
--  
老师,需要根据“签到时间”、“签退时间”、“星期”三列来判断加班的情况,
我们公司的加班是从17:05分开始,满30分才算30分,不满不算
也就是  签退时间  大于等于17:05,小于17:35时,不算加班(加班小时数为O小时)
                     大于等于17:35,小于18:05时,加班小时数为0.5小时
                     大于等于18:05,小于18:35时,加班小时数未1小时
如何在哪个事件中编写代码,判断出加了多少小时班,并根据如是周一~周五 ,就将当日的加班结果自动显现在“一倍半加班H”列中,
同样,如是周六和周日,就将当日的加班结果显现在“二倍加班H”列中,
如选中了“节假日”(逻辑列),就放入“三倍加班H”列中,
请老师再帮帮忙,我老是搞不定。


--  作者:zhangning
--  发布时间:2016/8/11 12:57:00
--  
忘了补充一点,如加到晚上7点半以后的,晚上7点到7点半之间是休息的,也就是要扣除30分

上夜班12个小时的,要扣除2个小时

--  作者:zhangning
--  发布时间:2016/8/11 13:21:00
--  
周六  日  是从8点开始,中午12点开始,休息一个小时,如下午5点下班,则加班8个小时