以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表达式列数据填写到另外一列中  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=126826)

--  作者:scmzphili
--  发布时间:2018/10/29 18:56:00
--  [求助]表达式列数据填写到另外一列中
由于表达式列不能保存在外部数据源,但表达式列内容我想保存在外部数据库中,比如有个表达式列 金额=数量*单价,我想增加 金额1 列,使得 金额1=金额,用了代码,在datacolchanged但不成功。哪位大侠帮帮忙.
--  作者:有点蓝
--  发布时间:2018/10/29 19:51:00
--  
直接把表达式列改为数据列存储。


If e.DataCol.Name = "数量" OrElse e.DataCol.Name = "单价" Then
    e.DataRow("金额") = e.DataRow("数量") * e.DataRow("单价")
End If

--  作者:scmzphili
--  发布时间:2018/10/29 20:09:00
--  

谢谢!这个是没有问题。

但我还有一个表达式是统计关联子表求和,不用表达式很麻烦。上次也按照帮助去设置,一直没有成功,所以引入表达式列 用了统计子表函数来做


--  作者:有点蓝
--  发布时间:2018/10/29 20:13:00
--  
金额列改为数据列和其他表达式,或者表达式列的使用没有什么影响吧。具体上传实例说明
--  作者:scmzphili
--  发布时间:2018/10/29 20:39:00
--  
上面 父表 订单金额1 = 订单总金额(这个是表达式,数据源是外部数据源,没有此列,因此想到加一个订单金额1列 保存数据到外部数据源),需要这样的一段代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.table

[此贴子已经被作者于2018/10/29 20:40:08编辑过]

--  作者:有点蓝
--  发布时间:2018/10/29 20:45:00
--  
参考:http://www.foxtable.com/webhelp/scr/1472.htm
--  作者:有点蓝
--  发布时间:2018/10/29 20:52:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.table


--  作者:scmzphili
--  发布时间:2018/10/29 22:16:00
--  

奇怪,试了很多次不行,用你的代码就OK。多谢!!!


--  作者:scmzphili
--  发布时间:2018/11/13 21:32:00
--  

事件代码

 

If e.DataCol.Name = "订单ID" Then
    Dim Filter As String = "[关联订单ID] = \'" & e.NewValue & "\'"
    e.DataRow("订单金额1") = DataTables("订单明细").Compute("Sum(总价)", Filter)
End If

 

总价是公式计算,就不能汇总,是什么原因呢?请大侠明示,困扰很久。

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


--  作者:有点蓝
--  发布时间:2018/11/13 21:46:00
--  
订单明细,datacolchanged事件

Case "小计"

改为

Case "小计","总价"