以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  SQLGroupTableBuilder,增加表达式列无效  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=119364)

--  作者:jyl1588
--  发布时间:2018/5/23 16:55:00
--  SQLGroupTableBuilder,增加表达式列无效
Dim b As New SQLGroupTableBuilder("客户资金","销售收款")
b.C
b.AddTable("销售收款","客户","销售结算","客户") \'添加统计表
b.Groups.AddDef("帐户类型") \'根据产品名称分组
b.Totals.AddDef("收款金额") \'对数量进行统计
b.Totals.AddDef("结算金额")
b.Totals.AddExp("余额","结算金额-收款金额")
b.Filter = "客户=\'张三\'" 
b.Build \'生成统计表

增加表达式列后,提示“余额列名不存在”,这是什么原因,哪里出的问题?烦请老师再指导一下

[此贴子已经被作者于2018/5/23 16:55:29编辑过]

--  作者:有点甜
--  发布时间:2018/5/23 17:07:00
--  
如果代码改成 b.Totals.AddExp("余额","100-10") 之后是否报错?
--  作者:jyl1588
--  发布时间:2018/5/23 17:11:00
--  
试了 , 还是一样报错,列名无效。“余额”这个表达列原表中没有,是我自定义的。
[此贴子已经被作者于2018/5/23 17:16:06编辑过]

--  作者:有点甜
--  发布时间:2018/5/23 17:15:00
--  

这个

 

b.Filter = "客户=\'张三\'" 

 

改成

 

b.Filter = "{销售收款}.客户=\'张三\'" 

 

或者是删除

 

如果还报错,删除这句 b.AddTable("销售收款","客户","销售结算","客户") \'添加统计表


--  作者:jyl1588
--  发布时间:2018/5/23 17:29:00
--  
还是不行图片点击可在新窗口打开查看
--  作者:有点甜
--  发布时间:2018/5/23 17:31:00
--  

1、看 【客户资金】表生成了没有。肯定能生成。

 

2、其余代码删除,单独执行你1楼的那段代码。


--  作者:jyl1588
--  发布时间:2018/5/23 17:36:00
--  
看到了,客户资金表是生成了,但窗口里面表的是绑定这个表的
不好意思,我忘了给老师说我这个是在窗口动态绑定的:Tables("客户余额_table1").DataSource = b.BuildDataSource
应该是这个的问题吧。应该怎么处理呢?



已解决,不生成统计临时表就可以了,直接到绑定窗口表,把这个b.Build删了就行了。谢谢老师!
[此贴子已经被作者于2018/5/23 17:41:22编辑过]