以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]跨表统计稍微复杂搞不定 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146249) |
||||
-- 作者:long9547 -- 发布时间:2020/2/19 23:42:00 -- [求助]跨表统计稍微复杂搞不定
![]() 实在搞不定,请给出完整代码 这个是要跨表统计,用表C统计表A数据,第一求每一列最大数值(例如AWQB列最大是2),第二用刚才的最大数值减最新数据,取绝对值(最新数据判断依据编号最大的如第一列1335,一般是末尾那一行)放置于表C第二行,第三再次统计用表C 第二行提取行的最大数据(awqb-jwqb的数据)或者,(awqs-jwqs的数据),同时还需提取最大值对应列的对应数据(对应数据放在表B的) 需要注意的是 AWQB对应表B第一列 BWQB对应第二列 依次类推
|
||||
-- 作者:sloyy -- 发布时间:2020/2/20 0:04:00 -- 复杂excel报表跨表取数及公式自动计算的完美解决办法 |
||||
-- 作者:long9547 -- 发布时间:2020/2/20 8:33:00 -- 感谢sloyy大晚上不睡觉帮解决问题,只是我这个表是每20秒自动更新计算的,时间上是无法统一!我就是从excel转过来的!还请帮忙写代码3个小问题应该不算太难? |
||||
-- 作者:有点蓝 -- 发布时间:2020/2/20 10:58:00 -- 第三没看懂 第一、二参考,表C,datacolchanged事件,建议把列改为整数型,不然超出2位数取最大值会有问题 If e.DataCol.Name = "类型" Dim dr As DataRow = DataTables("表A").Find("","RIQI desc") If dr IsNot Nothing For Each dc As DataCol In e.DataTable.DataCols If dc.Name.Length = 4 Dim v As String = DataTables("表A").Compute("max(" & dc.Name & ")") Select Case e.NewValue Case "每列最大数" e.DataRow(dc.Name) = v Case "最大数减最新数据" e.DataRow(dc.Name) = val(v) - val(dr(dc.Name)) End Select End If Next End If End If |
||||
-- 作者:long9547 -- 发布时间:2020/2/20 19:02:00 -- 第三不知道这样能看懂吗? ![]() |
||||
-- 作者:有点蓝 -- 发布时间:2020/2/21 13:56:00 -- 还是没看懂。表C的第三行,AWQB的5是怎么来的?BWQB、CWQB......取哪里的值? |