以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 跨表统计自动更新问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117729) |
-- 作者:13775189031 -- 发布时间:2018/4/18 11:35:00 -- 跨表统计自动更新问题 合同台账 If e.DataCol.Name = "内部合同编号" Then Dim Filter As String = "[内部合同编号] = \'" & e.NewValue & "\'" e.DataRow("入库金额合计") = DataTables("入库信息").Compute("Sum(当月入库金额)", Filter) End If If e.DataCol.Name = "内部合同编号" Then Dim Filter As String = "[内部合同编号] = \'" & e.NewValue & "\'" e.DataRow("销售合计") = DataTables("货款回笼信息").Compute("Sum(开票金额)", Filter) e.DataRow("到款合计") = DataTables("货款回笼信息").Compute("Sum(到款金额)", Filter) End If 入库信息 Select Case e.DataCol.Name Case "当月入库金额" Dim pr As DataRow pr = DataTables("合同台帐").Find("内部合同编号 = \'" & e.DataRow("内部合同编号") & "\'") If pr IsNot Nothing Then DataTables("合同台帐").DataCols("内部合同编号").RaiseDataColChanged(pr) End If End Select 货款回笼信息 Select Case e.DataCol.Name Case "到款金额","开票金额" Dim pr As DataRow pr = DataTables("合同台帐").Find("内部合同编号 = \'" & e.DataRow("内部合同编号") & "\'") If pr IsNot Nothing Then DataTables("合同台账").DataCols("内部合同编号").RaiseDataColChanged(pr) End If End Select 入库信息和货款回笼信息有更新后,进入合同台帐必须要重置内部合同编号列,其入库金额合计、销售合计和到款合计才能更新,怎样才能只需切换到合同台账表就能自动更新? 另外入库信息表没问题,但货款回笼信息表错误提示:不存在名为“合同台帐”的Date table! .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2018.3.9.1 错误所在事件:表,货款回笼信息,DataColChanged 详细错误信息: 调用的目标发生了异常。 未将对象引用设置到对象的实例。 是什么原因? |
-- 作者:有点甜 -- 发布时间:2018/4/18 11:42:00 -- 1、【不存在名为“合同台帐”的Datatable】,说明你表名写错了,请确定你表格的名称是什么。
2、你可以去编写maintableChanged事件,类似 http://www.foxtable.com/webhelp/scr/1454.htm
|
-- 作者:13775189031 -- 发布时间:2018/4/18 12:07:00 -- 是“合同台帐”啊,入库信息里也一样,就没问题啊? |
-- 作者:13775189031 -- 发布时间:2018/4/18 12:09:00 -- If MainTable.Name = "合同台帐" Then DataTables("合同台帐").DataCols("内部合同编号").RaiseDataColChanged() End If 把这段加到maintableChanged事件里了,还是不行! |
-- 作者:有点甜 -- 发布时间:2018/4/18 12:10:00 -- 以下是引用13775189031在2018/4/18 12:07:00的发言:
是“合同台帐”啊,入库信息里也一样,就没问题啊?
Select Case e.DataCol.Name
Case "到款金额","开票金额"
Dim pr As DataRow
pr = DataTables("合同台帐").Find("内部合同编号 = \'" & e.DataRow("内部合同编号") & "\'")
If pr IsNot Nothing Then
DataTables("合同台账").DataCols("内部合同编号").RaiseDataColChanged(pr)
End If
End Select
|
-- 作者:13775189031 -- 发布时间:2018/4/18 12:40:00 -- 晕死! 谢谢啊! |