以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 数据加总  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188667)

--  作者:sanny
--  发布时间:2023/10/10 12:09:00
--  [求助] 数据加总
老师,
如保将以下明细表中的数量加总后,填到以下统计表中。每执行一次代码,将结果相应的日期行中。
比如今天是10,就填到10号这一行中,如10号这一行已经有数据存就消除后重新写入。
如今天是11号,就将结果写入11号这一行中。

谢谢。



明细表
产品 数量 组别
A1 1 A
A1 1 B
A1 1 C
A2 1 A
A2 1 B
A2 1 C
A1 1 A


统计表:
日期 A组 B组 C组 加总
1        
2        
3        
4        
5        
6        
7        
8        
9        
10        
11        
12        
13        
14        
15        
16        
17        
18        
19        
20        
21        
22        
23        
24        
25        
26        
27        
28        
29        
30        
31        

--  作者:有点蓝
--  发布时间:2023/10/10 13:28:00
--  
参考:http://www.foxtable.com/webhelp/topics/2965.htm
--  作者:sanny
--  发布时间:2023/10/12 19:19:00
--  
老师,

目前只能完成到这儿,它只能加到当前光标所处的行。

如何使以下结果加入到当前日期所处的行中。比今天是 2023/10/12, 就加到号12行这处。

另外如果12号后面的行,如13号的行,14号的行,15号的行... 上有任何数据的话都清空,谢谢。


Tables("表B").current("A组") = DataTables("表A").Compute("Sum(数量)","组别 =\'A\'")
Tables("表B").current("B组") = DataTables("表A").Compute("Sum(数量)","组别 =\'B\'")
Tables("表B").current("C组") = DataTables("表A").Compute("Sum(数量)","组别 =\'C\'")

--  作者:有点蓝
--  发布时间:2023/10/12 20:01:00
--  
Tables("表B").rows(date.today.day - 1)("A组") =  DataTables("表A").Compute("Sum(数量)","组别 =\'A\'")
……

清空
Tables("表B").rows(date.today.day)("A组") =  nothing
Tables("表B").rows(date.today.day+1)("A组") =  nothing

--  作者:sanny
--  发布时间:2023/10/12 20:26:00
--  
老师

不对哦,日期是以号来记的,如 1,2,3,4  ,不是2023/10/1,2023/10/2.. 这种格式



Tables("表B").rows(date.today.day - 1)("A组") =  DataTables("表A").Compute("Sum(数量)","组别 =\'A\'")

--  作者:有点蓝
--  发布时间:2023/10/12 20:59:00
--  
看懂代码了吗?测试有什么问题?
--  作者:sanny
--  发布时间:2023/10/13 11:02:00
--  
老师,这个还是有点难,逻辑是不是这样

先判定今天的日期,比如今天是2023-10-13, 就到这个日期中的号 13,然后找到表B中的 日期列 13号行,再将这数据填上,是吗 ?



--  作者:有点蓝
--  发布时间:2023/10/13 11:13:00
--  
日期为1是不是表格的第一行?13号是不是第13行?
--  作者:sanny
--  发布时间:2023/10/13 11:23:00
--  
老师,如下,日期如是1 ,相对应的 就是表B,日期中的 1 这一行,日期是13,就是表B,日期中的 13 这一行
   

--  作者:有点蓝
--  发布时间:2023/10/13 11:34:00
--  
日期中的 1 这一行】是不是表格的第一行?如果不是使用Find查询到需要的行