以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表间取数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179171)

--  作者:shqpldczj
--  发布时间:2022/8/11 13:13:00
--  表间取数
现有A表字段“审定金额”,B表字段“已付金额”,“进度”(进度=已付金额/A表的审定金额),“审定金额”(新增时已取值),C表字段“金额”,“进度”(进度=金额/A表的审定金额)。
B表的已付金额=C表的金额合计。现在需求是C表新增记录后能同时算出C表和B表的进度。我请教在哪里写事件代码最合理。

--  作者:shqpldczj
--  发布时间:2022/8/11 13:38:00
--  
Dim dr As DataRow
dr = DataTables("外包合同").Find("[合同编号] = \'" & Tables("付款明细").Current("合同编号") & "\'")
Dim a As Integer = dr("审定金额")
Tables("付款明细").Current("进度") = Tables("付款明细").Current("含税金额") / a

我在C表的datacolchanged里写的不成功

--  作者:有点蓝
--  发布时间:2022/8/11 14:07:00
--  
先看看:http://www.foxtable.com/webhelp/topics/1522.htm

Select Case e.DataCol.Name
    
Case "
合同编号","含税金额"
     
Dim dr As DataRow
dr = DataTables("外包合同").Find("[合同编号] = \'" & e.DataRow("合同编号") & "\'")
if dr isnot nothing andalso dr("审定金额") <> 0 then
        e.datarow("进度") = e.datarow("含税金额") / dr("审定金额")
ens if
End Select

--  作者:shqpldczj
--  发布时间:2022/8/11 14:47:00
--  
搞定,谢谢