Dim b As New SQLCrossTableBuilder("利润附表","科目余额")
b.AddTable("科目余额","项目明细","店铺基础档案","店铺名称") '添加统计表
b.AddTable("科目余额","科目代码","科目档案表","科目编码") '添加统计表
b.HGroups.AddDef("日期",DateGroupEnum.year,"年")
b.HGroups.AddDef("日期",DateGroupEnum.month,"月")
b.HGroups.AddDef("公司")
b.HGroups.AddDef("汇总部门","部门")
b.HGroups.AddDef("店铺类型")
b.VGroups.AddDef("成本大类") '添加一级科目名称列用于垂直分组
b.Totals.AddExp("本月","case when 收支性质='收入' then 本期发生额_贷方 else 本期发生额_借方 end")
b.Totals.AddExp("累计","case when 收支性质='收入' then 本年累计_贷方 else 本年累计_借方 end")
b.Decimals = 2 '小数点取0位
b.Build '生成统计表
Dim dic As new Dictionary(of String, String)
For Each c As Col In Tables("利润附表").cols
dic.add(c.Caption, c.name)
Next
If dic.ContainsKey("6603财务费用_利息成本_本月") = False Then
DataTables("利润附表").dataCols.add("6603财务费用_利息成本_本月", Gettype(Double))
DataTables("利润附表").dataCols.add("6603财务费用_利息成本_累计", Gettype(Double))
dic.add("6603财务费用_利息成本_本月", "6603财务费用_利息成本_本月")
dic.add("6603财务费用_利息成本_累计", "6603财务费用_利息成本_累计")
End If
DataTables("利润附表").dataCols.add("6603财务费用_合计_本月", Gettype(Double),"isnull(" & dic("6603财务费用_利息成本_本月") & ",0)+isnull(" & dic("6603财务费用_其他成本_本月") & ",0)")
我的统计表里没有“6603财务费用_利息成本”的数据,但后面的代码都用到了这列,所以必须把这列动态生成出来,但结果仍提示以下错误:
无法设置列“6603财务费用_合计_本月“的表达式,原因:语法错误:“6603财务费用_利息成本_本月”运算符后缺少操作数。
最后提示“给定关键字不在字典中”。
然后我在统计表里录入一条“6603财务费用_利息成本”的虚拟数据,就没有错误提示了
不知如何解决。(附件上传不了)
[此贴子已经被作者于2017/6/22 19:13:20编辑过]