以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 排班统计表问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160113) |
||||
-- 作者:夜点蚊香 -- 发布时间:2021/1/20 23:17:00 -- 排班统计表问题 排班表有四个字段 姓名 状态 开始时间 结束时间 何时捷
正常
2021-01-20 22:00:00
2021-01-21 08:00:00 何时捷
正常
2021-01-21 22:00:00
2021-01-22 08:00:00 陈艳娜
正常
2021-01-20 22:00:00
2021-01-21 08:00:00 要在月统计表中 显示 每天24个小时时段,并且 显示 每个时段有多少人上班. 如何选择年月的时候生成当月的所有天数,及全天24个时段.再把相应时段上班的人数天写进去. 请指教.用什么方法建表或者什么操作方法好一些.
[此贴子已经被作者于2021/1/20 23:29:19编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/1/21 9:02:00 -- 请上传实例测试 |
||||
-- 作者:夜点蚊香 -- 发布时间:2021/1/21 10:23:00 -- 增加了一下统计表 字段 店面 日期 时段 在统计表窗口选择开始日期, 结束日期 字段 然后点击查询 在统计字段 生成 开始日期 到结束日期的数据 例如 统计表窗口选择 2020-1-1 2020-1-2 然后点击查询 生成数据 字段 日期 时段(0-23,一天24个小时) 2020-1-1 0 2020-1-1 1 2020-1-1 2 ... 2020-1-1 23 2020-1-2 0 2020-1-2 1 2020-1-2 2 ... 2020-1-2 23 请指教
|
||||
-- 作者:有点蓝 -- 发布时间:2021/1/21 10:27:00 -- 请上传实例测试 |
||||
-- 作者:夜点蚊香 -- 发布时间:2021/1/21 12:27:00 -- 实例已上传.请看一下. 生成数据行以后,在根据数据行把排版表里面相应的人数统计出来.
|
||||
-- 作者:有点蓝 -- 发布时间:2021/1/21 14:08:00 --
|
||||
-- 作者:夜点蚊香 -- 发布时间:2021/1/21 22:52:00 -- 两个问题大神帮忙解决一下 1.大神给的查询公式 时间段不起作用. 2.顺序是先根据日期时间段先生成 开始时间日期,并且生成0到23个时间段,然后依次生成结束日期之间的日期及0到23个时间段. 然后根据日期及时间段获取对应的排班人数. 请大神帮忙解决一下.
|
||||
-- 作者:有点蓝 -- 发布时间:2021/1/21 23:12:00 -- 1、我没有做筛选,这种帮助大把的,自己参考做,比如:http://www.foxtable.com/webhelp/topics/1058.htm 2、自己按日期和时段排序即可。如果要按顺序增加行,参考6楼里面的循环方法先新增所有行,再循环一次统计即可,也就是多一次循环而已。
|
||||
-- 作者:夜点蚊香 -- 发布时间:2021/1/22 9:38:00 -- 帮忙看一下筛选时段的代码, Dim dt As DataTable = DataTables("统计表时段人数") Dim dr As DataRow For Each r As Row In Tables("排班表").Rows Dim d1 As Date = r("开始时间") Dim d2 As Date = r("结束时间") Do While d1 < d2 \'Dim Products As List(Of String) \'Products = DataTables("排班表").GetValues("店面","上班日期 >= #" & d1.Date & "# And 上班日期 <= #" & d2.Date & "#") Tables("排班表").Filter = "[上班日期] >= #" & d1.Date & "# And [上班日期] <= #" & d2.Date & "#" dr = dt.Find("日期=#" & d1.Date & "# and 时段=" & d1.Hour) If dr Is Nothing Then dr = dt.AddNew dr("日期") = d1.Date dr("时段") = d1.Hour End If dr("人数") = dr("人数") + 1 d1 = d1.AddHours(1) Loop Next 问题,时段筛选起作用了,不过筛选的出来的数据不对.
|
||||
-- 作者:有点蓝 -- 发布时间:2021/1/22 9:41:00 -- 按照这里做筛选,单独做不要和原来的混到一起:http://www.foxtable.com/webhelp/topics/1058.htm,筛选完毕再使用原来的代码 |