Foxtable(狐表)用户栏目专家坐堂 → [求助]语法错误


  共有2195人关注过本帖树形打印复制链接

主题:[求助]语法错误

帅哥,在线噢!
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10056 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]语法错误  发帖心情 Post By:2017/6/22 19:04:00 [只看该作者]

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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 19:23:00 [只看该作者]

 不存在列 【6603财务费用_其他成本_本月】 吧?

 

 代码基本没问题,上传实例测试。


 回到顶部
帅哥,在线噢!
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10056 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2017/6/22 20:51:00 [只看该作者]

列6603财务费用_其他成本_本月,是有数据的,所以没问题
实例上传不了,可能是我的IE版本的问题


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/22 23:58:00 [只看该作者]

弹出值看看

 

msgbox(dic("6603财务费用_利息成本_本月"))

 

msgbox("isnull(" & dic("6603财务费用_利息成本_本月") & ",0)+isnull(" & dic("6603财务费用_其他成本_本月") & ",0)")

 

 


 回到顶部
帅哥,在线噢!
lgj716330
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10056 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2017/6/23 9:24:00 [只看该作者]

弹不出来。
不知是不是在科目前面加了一个编码的关系,我把编码去掉,问题就没了。编码我主要是用于排序用。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106629 积分:542322 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/23 9:26:00 [只看该作者]

请上传实例测试

 回到顶部
帅哥,在线噢!
lgj716330
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10056 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2017/6/23 9:57:00 [只看该作者]

附件搞不上来,我还是把前面的编码去掉,用代码排序得了

 回到顶部