以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  按时间、日期的交叉统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184723)

--  作者:onlinech
--  发布时间:2022/12/26 16:20:00
--  按时间、日期的交叉统计问题
1、在按小时、日期作交叉统计时,发现如果小时或日期没有数据的话将没有统计的行或列
2、日期如何使其按日期顺序排列,如30日、31日、1日、2日
数据库内容:

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20221226161042.png
图片点击可在新窗口打开查看

交叉后结果:

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20221226160914.png
图片点击可在新窗口打开查看

想要的结果:如何按标颜色的行列自动添加上去?

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20221226161057.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2022/12/26 17:02:00
--  
1、数据没有的日期,只能事后手工添加
2、要按顺序,分组列必须要按年、月、日添加3个分组

--  作者:onlinech
--  发布时间:2022/12/26 17:16:00
--  
那小时呢?除了手工添加之外,有没有其它办法?
--  作者:有点蓝
--  发布时间:2022/12/26 17:21:00
--  
小时也一样,分组列必须从年一直下来。只能手工添加
--  作者:onlinech
--  发布时间:2022/12/28 16:26:00
--  
写了个手工增加缺少的行,但是编译的时候报错(标颜色的地方)
Dim t, r As Integer
Dim dr As Row
For r = 0 To 23
    t = Tables("小时统计").Rows.Count \'计算表的行数
    dr = Tables("小时统计").Find("时 = r", "时")
    If dr Is Nothing Then \'如果没找到的话
        Tables("小时统计").AddNew()
        Tables("小时统计").Rows(t)("时") = r
    End If 
Next

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20221228162307.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2022/12/28 16:48:00
--  
先看2遍:http://www.foxtable.com/webhelp/topics/1284.htm

dr = Tables("小时统计").Find("时 = " & r)
    If dr Is Nothing Then \'如果没找到的话
        dim r as row = Tables("小时统计").AddNew()
        r("时") = r
    End If 
[此贴子已经被作者于2022/12/28 16:49:06编辑过]