以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎样用代码实现 表达式“Sum(Child(销售订单明细).金额)” 功能  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47710)

--  作者:lwj396086371
--  发布时间:2014/3/15 15:56:00
--  怎样用代码实现 表达式“Sum(Child(销售订单明细).金额)” 功能

怎样用代码实现 表达式“Sum(Child(销售订单明细).金额)” 功能


--  作者:Bin
--  发布时间:2014/3/15 15:58:00
--  
利用Compute  http://www.foxtable.com/help/topics/0393.htm
--  作者:狐狸爸爸
--  发布时间:2014/3/15 16:02:00
--  

更多例子:

http://www.foxtable.com/help/topics/1454.htm

 


--  作者:lwj396086371
--  发布时间:2014/3/15 16:23:00
--  

结果出不来,具体如下:

1、销售订单与销售订单明细为关联表

2、销售订单中有一列【销售金额】,正常用表达式为 Sum(Child(销售订单明细).金额)”

3、现【销售金额】列不用表达式而改用代码实现

   在该销售订单表的DataColChanged事件 中设置如下代码:

  If e.DataCol.Name = "销售单号" Then
    e.DataRow("销售金额") = DataTables("销售订单明细").Compute("Sum(金额)","[销售单号] = \'" & e.NewValue & "\'")
End If

 

我调试发现【销售金额】列不显示值


--  作者:Bin
--  发布时间:2014/3/15 16:24:00
--  
上例子.
--  作者:lsy
--  发布时间:2014/3/15 16:26:00
--  
看代码,没毛病。
--  作者:狐狸爸爸
--  发布时间:2014/3/15 16:28:00
--  

楼主,设置完代码后,重置一下“销售单号”列

 

所以说,帮助一定要按顺序看的:

http://www.foxtable.com/help/topics/1469.htm

http://www.foxtable.com/help/topics/1452.htm

http://www.foxtable.com/help/topics/1587.htm

 

[此贴子已经被作者于2014-3-15 16:28:59编辑过]

--  作者:lwj396086371
--  发布时间:2014/3/15 17:06:00
--  
重置一下“销售单号”列,结果出来了,但要实现像表达式那样立即能看见这个数据还是搞不定
--  作者:Bin
--  发布时间:2014/3/15 17:07:00
--  
你输入数据就会立即出现的了.你有没认真看7楼的帮助连接里面的解析呢
--  作者:lwj396086371
--  发布时间:2014/3/17 10:43:00
--  
新增订单后,还是立即出现不了,需重新打开项目或重置列
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:订单练习.foxdb