以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  EXCEL报表公式求解~  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13754)

--  作者:kevin11
--  发布时间:2011/10/26 8:47:00
--  EXCEL报表公式求解~
请高手帮我看看我book1最后一行公式哪里错了?我想将非合同类+营销类合同的筛选结果相加。。。但是生成报表的数好像变成跟没筛选的结果一样了,求解~~~~谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目47.table

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:book1.xls


--  作者:狐狸爸爸
--  发布时间:2011/10/26 11:06:00
--  
个人觉得这种复杂的计算用mark更好:
 
http://www.foxtable.com/help/topics/1396.htm
 
 
 
Dim Book As New XLS.Book("c:\\book5.xls")
Book.Marks.Add("总计",DataTables("订单").Compute("Sum(数量)", "产品 = \'PD01\'"))
Book.Build()
Book.Save("c:\\reports\\test.xls")
Dim Proc As New Process
Proc.File = "c:\\reports\\test.xls"
Proc.Start()
 

--  作者:kevin11
--  发布时间:2011/10/26 11:29:00
--  回复:(狐狸爸爸)个人觉得这种复杂的计算用mark更好...
用mark不知道怎么实现将两个表的数据相加的功能 比如将标记aaa的取值设为:e.Book.Marks.Add("aaa",Tables("营销类合同").Compute("Sum(合同金额)", "费用科目_一级科目 = \'媒介推广费\' and 月度 = " & Tables("营销类合同").text(0,3)) ),只能计算营销类合同的筛选结果,不知道怎样将非合同类的加进来计算。 另如果这样设置的话,就要在两张表分别筛选后才能生成筛选后的数据,而且如果不筛选的话,无法统计全部数据。。 由于刚接触FOXTABLE时间不长,所以思路还不是很清晰和完整,请狐爸爸指导。。。
--  作者:狐狸爸爸
--  发布时间:2011/10/26 11:31:00
--  

mark更加灵活,任意多个表都行:

 

 

Dim Book As New XLS.Book("c:\\book5.xls")

Dim v as Doube

v= DataTables("订单").Compute("Sum(数量)", "产品 = \'PD01\'") + DataTables("订单2").Compute("Sum(数量)", "产品 = \'PD01\'") + DataTables("订单3").Compute("Sum(数量)", "产品 = \'PD01\'")
Book.Marks.Add("总计",v)
Book.Build()
Book.Save("c:\\reports\\test.xls")
Dim Proc As New Process
Proc.File = "c:\\reports\\test.xls"
Proc.Start()