以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]两个表引用同一字段相互更新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193062)

--  作者:jxb127705
--  发布时间:2024/8/13 20:11:00
--  [求助]两个表引用同一字段相互更新
商承回款表格DataColChanged:
 Select Case e.DataCol.Name
    Case "汇票编号"
        Dim prs As List(Of DataRow)
        prs = DataTables("商承支付").Select("汇票编号 = \'" & e.oldvalue & "\'")
        If prs IsNot Nothing Then 
            For Each pr As DataRow In prs
                DataTables("商承支付").DataCols("汇票编号").RaiseDataColChanged(pr)
            Next
        End If
        prs = DataTables("商承支付").Select("汇票编号 = \'" & e.newvalue & "\'")
        If prs IsNot Nothing Then
            For Each pr As DataRow In prs 
            DataTables("商承支付").DataCols("汇票编号").RaiseDataColChanged(pr)
            Next
        End If
End Select

商承支付表格DataColChanged:
Case "汇票编号"
        Dim pr As DataRow
        pr = DataTables("商承回款").Find("汇票编号 = \'" & e.oldvalue & "\'")
        If pr IsNot Nothing Then
            DataTables("商承回款").DataCols("汇票编号").RaiseDataColChanged(pr)
        End If
        pr = DataTables("商承回款").Find("汇票编号 = \'" & e.newvalue & "\'")
        If pr IsNot Nothing Then
            DataTables("商承回款").DataCols("汇票编号").RaiseDataColChanged(pr)
        End If

老师:如何可以让两个表在”汇票编号“字段变化时能相互更新?感谢指导!

--  作者:有点蓝
--  发布时间:2024/8/13 20:20:00
--  
要更新什么内容?
--  作者:jxb127705
--  发布时间:2024/8/13 20:37:00
--  
商承支付表格:通过“汇票号码”引用了商承回款表格的“汇票金额”,商承回款表格:通过“汇票号码”引用统计了商承支付表格的“支付金额”,相当于在商承支付表格里面,如果汇票号码变化时,商承回款表格对应的汇票号码行需要重新计算一次。
--  作者:有点蓝
--  发布时间:2024/8/13 20:41:00
--  
【商承支付表格:通过“汇piao号码”引用了商承回款表格的“汇piao金额”】商承回款表格的“汇piao金额”填入商承支付表格哪一列?

【商承回款表格:通过“汇piao号码”引用统计了商承支付表格的“支付金额”】商承支付表格的“支付金额”填入商承回款表格哪一列?

--  作者:jxb127705
--  发布时间:2024/8/13 20:42:00
--  
Select Case e.DataCol.Name
    Case "汇票金额"
        Dim prs As List(Of DataRow)
        prs = DataTables("商承支付").Select("汇票编号 = \'" & e.DataRow("汇票编号") & "\'")
        If prs IsNot Nothing Then
            For Each pr As DataRow In prs 
                DataTables("商承支付").DataCols("汇票编号").RaiseDataColChanged(pr)
            Next
        End If
End Select

Select Case e.DataCol.Name
    Case "汇票编号"
        Dim prs As List(Of DataRow)
        prs = DataTables("商承支付").Select("汇票编号 = \'" & e.oldvalue & "\'")
        If prs IsNot Nothing Then 
            For Each pr As DataRow In prs
                DataTables("商承支付").DataCols("汇票编号").RaiseDataColChanged(pr)
            Next
        End If
        prs = DataTables("商承支付").Select("汇票编号 = \'" & e.newvalue & "\'")
        If prs IsNot Nothing Then
            For Each pr As DataRow In prs 
            DataTables("商承支付").DataCols("汇票编号").RaiseDataColChanged(pr)
            Next
        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

    \'Case "汇票编号"
        \'Dim pr As DataRow
        \'pr = DataTables("商承回款").Find("汇票编号 = \'" & e.oldvalue & "\'")
        \'If pr IsNot Nothing Then
        \'    DataTables("商承回款").DataCols("汇票编号").RaiseDataColChanged(pr)
        \'End If
        \'pr = DataTables("商承回款").Find("汇票编号 = \'" & e.newvalue & "\'")
       \' If pr IsNot Nothing Then
       \'     DataTables("商承回款").DataCols("汇票编号").RaiseDataColChanged(pr)
       \' End If
End Select

--  作者:jxb127705
--  发布时间:2024/8/13 20:46:00
--  
商承支付表格有一列“汇票金额”,商承回款有一列“累计支付”,用于同一汇票分次支付后的汇总
--  作者:有点蓝
--  发布时间:2024/8/13 20:54:00
--  
这些代码没有任何用处。截图并使用文字说明,到底要更新哪一列数据?
--  作者:jxb127705
--  发布时间:2024/8/13 21:04:00
--  
图片点击可在新窗口打开查看
--  作者:jxb127705
--  发布时间:2024/8/13 21:04:00
--  
图片点击可在新窗口打开查看
--  作者:jxb127705
--  发布时间:2024/8/13 21:09:00
--  
商承回款表格中,如果汇票编号变化时,商承支付表格中的相应的引用数据会自动更新,看如何实现:商承支付表格中汇票编号变化时,商票回款的累计支付会重新计算。