以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 横向统计字符 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141788) |
||||
-- 作者:15666282205 -- 发布时间:2019/10/10 21:45:00 -- 横向统计字符 老师,请看实例,怎样实现自动统计上班天数。
|
||||
-- 作者:zto001 -- 发布时间:2019/10/11 9:02:00 -- 增加一列表达式=每天相加,休息为0,上班为1不就行了么。如果想要显示出休的字样,可以用数字字典,或者在绘制写代码:数据0显示休 |
||||
-- 作者:有点蓝 -- 发布时间:2019/10/11 9:05:00 -- datacolchanged事件 If e.DataCol.Name.StartsWith("D") Dim x,y As Integer For Each c As DataCol In e.DataTable.DataCols If c.Name.StartsWith("D") If e.DataRow(c.Name) = "1" Then y += 1 ElseIf e.DataRow(c.Name) = "休班" Then x += 1 End If End If Next e.DataRow("休班天数") = IIF(x > 0,x,Nothing) e.DataRow("一班天数") = IIF(y > 0,y,Nothing) End If |
||||
-- 作者:15666282205 -- 发布时间:2019/10/13 19:45:00 -- 老师,我运行上面的代码时,表输入数字或文字都提示以下错误: 调用的目标发生了异常。 从字符串“休班”到类型“Double”的转换无效。 输入字符串的格式不正确。
|
||||
-- 作者:有点蓝 -- 发布时间:2019/10/13 19:58:00 -- 1楼的项目我测试没有问题。如果自己的项目改了列类型,重新截图看看表结构和数据,或者根据列类型自己相应改改代码。如果不会改,上传有问题的项目说明 |
||||
-- 作者:15666282205 -- 发布时间:2019/10/13 20:27:00 -- 老师,我重新完善了一下实例,这个更接近实际用途。里面的加班时间我解决了,关键是统计一、二、三班和休班事假。
|
||||
-- 作者:有点蓝 -- 发布时间:2019/10/13 23:15:00 -- 按什么规则计算?正确的结果应该是怎么样的,手工填入正确结果,截图看看 |
||||
-- 作者:15666282205 -- 发布时间:2019/10/14 8:25:00 -- 老师,您看看现在的实例,逻辑列可以统计吗?如果这样可行的话,打印也是个问题,需要转换成竖版,怎样解决? |
||||
-- 作者:有点蓝 -- 发布时间:2019/10/14 10:05:00 -- 逻辑列使用判断合计即可,比如 dim sum as integer if e.datarow("逻辑列1") = true then sum = sum +1 if e.datarow("逻辑列2") = true then sum = sum +1 e.datarow("合计列") = sum 至于打印,上传模板或者截图说明要什么效果 |