以文本方式查看主题

-  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=55098)

--  作者:风声
--  发布时间:2014/8/10 22:41:00
--  [求助]统计

If e.DataCol.Name = "客户" Then
    e.DataRow("价税合计") = DataTables("出库明细").Compute("Sum(价税合计)","[客户] = \'" & e.NewValue & "\'")
End If

 

下面的代码是在出库明细表中

If e.DataCol.Name = "价税合计" Then
    Dim pr As DataRow
    pr = DataTables("应收款").Find("客户 = \'" & e.DataRow("客户") & "\'")
    If pr IsNot Nothing Then
        pr("价税合计")= pr("价税合计") + e.NewValue - e.OldValue
    End If
End If

 

 

上面的代码不能统计


--  作者:有点甜
--  发布时间:2014/8/10 22:47:00
--  

 你的【价税合计】列,不能是表达式列,如果是表达式列,需要特殊处理

 

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

 


--  作者:有点甜
--  发布时间:2014/8/10 22:47:00
--  
 不会做,就例子上传说明。
--  作者:风声
--  发布时间:2014/8/11 10:02:00
--  
老师,不能及时更新要客户列重置后才能更新
--  作者:有点甜
--  发布时间:2014/8/11 10:04:00
--  
以下是引用风声在2014-8-11 10:02:00的发言:
老师,不能及时更新要客户列重置后才能更新

 

那就是你的明细表写得不对,试试改成

 

Dim pr As DataRow
pr = DataTables("应收款").Find("客户 = \'" & e.DataRow("客户") & "\'")
If pr IsNot Nothing Then
    pr("价税合计")= pr("价税合计") + e.NewValue - e.OldValue
End If


--  作者:风声
--  发布时间:2014/8/11 10:17:00
--  
.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.5.12.1
错误所在事件:表,应收款,DataColChanging
详细错误信息:
Exception has been thrown by the target of an invocation.
Cannot perform \'=\' operation on System.Int32 and System.String.

--  作者:有点甜
--  发布时间:2014/8/11 10:18:00
--  
例子发上,很简单的问题。
--  作者:风声
--  发布时间:2014/8/11 11:02:00
--  

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

 

应收款表的统计列"销售总额"


--  作者:有点甜
--  发布时间:2014/8/11 11:15:00
--  
  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:蓝峰管理.rar


--  作者:风声
--  发布时间:2014/8/11 15:24:00
--  

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

图片点击可在新窗口打开查看此主题相关图片如下:报错.png
图片点击可在新窗口打开查看
增加行时销售总额列数据不重复出现。付款金额列为空时禁止客户列录入客户名称