以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  咨询SQLGroupTableBuilder加入统计列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150121)

--  作者:guosheng
--  发布时间:2020/5/21 12:42:00
--  咨询SQLGroupTableBuilder加入统计列
Dim dtx As DataTable
Dim b As New SQLGroupTableBuilder("统计表2","租赁合同结转情况表")
b.C
Dim dt1 As fxDataSource
b.Groups.Adddef("合同编号","合同编号")  \'根据产品ID分组
b.Groups.AddDef("项目名称")  \'根据产品ID分组
b.Groups.Adddef("客户名称")  \'根据产品ID分组
b.Groups.AddDef("租赁类别")  \'根据产品ID分组
b.Groups.AddDef("房间名称")  \'根据产品ID分组
b.Groups.AddDef("合同开始日期",DateGroupEnum.none)  \'根据产品ID分组
b.Groups.AddDef("合同终止日期",DateGroupEnum.none)  \'根据产品ID分组
b.Groups.AddDef("租金金额")  \'根据产品ID分组
b.Groups.AddDef("服务费金额")  \'根据产品ID分组
b.Groups.AddDef("合同状态")  \'根据产品ID分组
b.Groups.Adddef("累计已收租金金额","已收_租金")  \'根据产品ID分组
b.Groups.Adddef("累计已收服务费金额","已收_服务费")  \'根据产品ID分组
b.filter= filter
dt1 = b.BuildDataSource()

Dim b2 As New SQLGroupTableBuilder("统计表3","租赁合同发票明细表")
b2.C
\'b2.AddTable("租赁合同发票明细表","合同编号","租赁合同结转情况表","合同编号")
Dim dt2 As fxDataSource
b2.Groups.AddDef("合同编号")  \'根据产品ID分组

b2.Totals.AddExp("已开票不含税租金","Case When 服务名称=\'房屋租金\' or 服务名称=\'场地租赁\' Then 不含税金额 Else 0 End","已开票_不含税租金")
b2.Totals.AddExp("已开票租金","Case When 服务名称=\'房屋租金\' or 服务名称=\'场地租赁\' Then 含税金额 Else 0 End","已开票_租金")
b2.Totals.AddExp("已开票租金税额 ", "isnull(已开票租金,0)-isnull(已开票不含税租金,0)" ,“已开票_租金税额”)  ‘这句报错找不到 已开票租金 和 已开票不含税租金 ,怎么回事啊?
 
b2.Totals.AddExp("已开票不含税服务费","Case When  服务名称=\'服务费\' Then 不含税金额 Else 0 End","已开票_不含税服务费")
b2.Totals.AddExp("已开票服务费","Case When  服务名称=\'服务费\' Then 含税金额 Else 0 End","已开票_服务费")

b2.Filter = filter2
dt2 = b2.BuildDataSource()




--  作者:有点蓝
--  发布时间:2020/5/21 13:58:00
--  
正常, 已开票租金 和 已开票不含税租金是在代码里添加的,这时候还没有生成这个统计表,哪来的列?统计方法里只能使用数据库里存在的列名。

在生成统计表后再添加临时列:http://www.foxtable.com/webhelp/topics/1428.htm