以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何引用子表的统计数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41971)

--  作者:724154605
--  发布时间:2013/10/31 15:13:00
--  [求助]如何引用子表的统计数据
请教一下诸位大侠。我要算提成­_买卖=提成金额的总和,代码该如何写啊
If e.DataCol.Name = "姓名" Then \'
    e.DataRow("提成_买卖") = DataTables("提成发放记录").Compute("Sum(提成金额)","[姓名] = \'" & e.NewValue & "\'")
End If
If MainTable.Name = "员工薪酬管理" Then
    DataTables("员工薪酬管理").DataCols("姓名").RaiseDataColChanged()
End If
没有反应

图片点击可在新窗口打开查看此主题相关图片如下:101.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2013/10/31 15:19:00
--  
你代码是写在哪里的呢?  代码是没有问题的.

文件发上来看看.

--  作者:724154605
--  发布时间:2013/10/31 18:18:00
--  [求助]

在线等啊

 

 


--  作者:狐狸爸爸
--  发布时间:2013/10/31 18:38:00
--  

这种简单的计算,不用代码可以,通过姓名建立关联,求和列改为表达式列,表达式为:
Sum(Child.提成金额)
 
建议细看《使用指南》下《关联表》和《表达式》这两章。

要快速解决问题,最好做个简单例子发上来,输入几行数据,然后具体说明问题,在上班时间几分钟就搞定了。


--  作者:有点甜
--  发布时间:2013/10/31 19:16:00
--  
 你的代码,是切换表的时候,才会重新计算的。实在不行,请上传一个测试例子。
--  作者:724154605
--  发布时间:2013/10/31 19:46:00
--  [求助]
以前我用的是表达式,那个确实挺方便的。但是表达式的值是不能保存的,每次重新打开系统,都要算一遍,不如代码方便。
--  作者:724154605
--  发布时间:2013/10/31 19:46:00
--  

好的。

 

 


--  作者:724154605
--  发布时间:2013/11/1 17:15:00
--  
If e.DataCol.Name = "姓名" Then \'
    e.DataRow("提成") = DataTables("提成发放记录").Compute("Sum(提成金额)","[姓名] = \'" & e.NewValue & "\'")
End If
If MainTable.Name = "员工薪酬管理" Then
    DataTables("员工薪酬管理").DataCols("姓名").RaiseDataColChanged()
End If
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.foxdb


--  作者:Bin
--  发布时间:2013/11/1 17:21:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.foxdb


--  作者:程兴刚
--  发布时间:2013/11/1 17:28:00
--  
以下是引用狐狸爸爸在2013-10-31 18:38:00的发言:

这种简单的计算,不用代码可以,通过姓名建立关联,求和列改为表达式列,表达式为:
Sum(Child.提成金额)
 
建议细看《使用指南》下《关联表》和《表达式》这两章。

要快速解决问题,最好做个简单例子发上来,输入几行数据,然后具体说明问题,在上班时间几分钟就搞定了。

 

我很少用表达式列,其缺点,不能触发事件!