以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表引用数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103314)

--  作者:zoyong
--  发布时间:2017/7/5 17:16:00
--  跨表引用数据
Select Case  e.DataCol.Name
    Case  "支出明细_招标文件","支出明细_项目经理","支出明细_交易员","支出明细_法人到场","支出明细_总工到场","支出明细_车费","支出明细_席位费","支出明细_其他","支出明细_万里鹏峰"
        If e.DataRow.Isnull("项目名称") Then
            e.DataRow("合计") = Nothing
        Else
            e.DataRow("合计")  = e.DataRow("支出明细_招标文件")  + e.DataRow("支出明细_项目经理")  + e.DataRow("支出明细_交易员")  + e.DataRow("支出明细_法人到场")  + e.DataRow("支出明细_车费")  + e.DataRow("支出明细_席位费")  + e.DataRow("支出明细_其他")  + e.DataRow("支出明细_万里鹏峰")   
        End If
End Select

Tables("投标立项").Current("支出合计") = DataTables("投标支出").Compute("sum(合计)","项目名称 = \'" & Tables("投标立项").Current("项目名称") & "\'")


帮忙看看代码有什么问题

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.6.12.1
错误所在事件:表,投标支出, DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

[此贴子已经被作者于2017/7/5 17:17:16编辑过]

--  作者:有点甜
--  发布时间:2017/7/5 17:35:00
--  

这个意思?

 

Dim fdr As DataRow = DataTables("投标立项").Find("项目名称 = \'" & e.DataRow("项目名称") & "\'")
If fdr IsNot Nothing Then
    fdr("支出合计") = DataTables("投标支出").Compute("sum(合计)","项目名称 = \'" & fdr("项目名称") & "\'")
End If


--  作者:zoyong
--  发布时间:2017/7/5 17:37:00
--  
意思将“合计”数据写入到“投标立项”表中的“支出合计”列
--  作者:有点蓝
--  发布时间:2017/7/5 17:55:00
--  
if Tables("投标立项").Current isnot nothing
Tables("投标立项").Current("支出合计") = DataTables("投标支出").Compute("sum(合计)","项目名称 = \'" & Tables("投标立项").Current("项目名称") & "\'")
end if

如果有关联的建议使用2楼的方法