以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  设置不同步  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110427)

--  作者:yangwenghd
--  发布时间:2017/12/2 20:03:00
--  设置不同步
可以将项目代码设置为只有表A改变数据才执行吗?
因为现在问题的在投资资产也会执行下面代码,感谢 感谢

If e.DataRow.IsNull("关联编号")=False Then
    Dim dr As DataRow = DataTables("行情数据").Find("项目信息_关联编号=\'" & e.DataRow("关联编号") & "\'")
    If dr IsNot Nothing Then
        dr("时实业绩_溢价收益")=DataTables("投资资产").Find("关联编号=\'" & e.DataRow("关联编号")  & "\'", "关联编号 desc")("资产时态_溢价收益")
    End If
End If



--  作者:有点甜
--  发布时间:2017/12/3 21:43:00
--  

加上列名判断

 

If e.DataCol.Name="关联编号" AndAlso e.DataRow.IsNull("关联编号")=False Then

 

然后看看 http://www.foxtable.com/webhelp/scr/1453.htm

 


--  作者:yangwenghd
--  发布时间:2017/12/4 11:28:00
--  
感谢 感谢  能再帮忙看看这个吗?
当资产时态_最新价格列发生变化时,行情数据表的相同的关联编号相同的最大项目信息_变动编号 行得到红色代码部分,感谢 感谢 


If e.DataCol.Name = "资产时态_最新价格" Then
    Dim adr As DataRow
    adr = DataTables("行情数据").Find("关联编号= \'"  & e.DataRow("项目信息_关联编号") & "\'", "项目信息_变动编号 desc")
    If adr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("时实资产_非股收益")= adr("资产时态_其它收益")
        e.DataRow("时实资产_溢价收益")= adr("资产时态_溢价收益")
        e.DataRow("时实资产_在投资产")= adr("资产时态_在投资金")
    End If
End If  \'带入企业名称

--  作者:有点甜
--  发布时间:2017/12/4 11:31:00
--  
If e.DataCol.Name = "资产时态_最新价格" Then
    Dim adr As DataRow
    adr = DataTables("行情数据").Find("关联编号= \'"  & e.DataRow("项目信息_关联编号") & "\'", "项目信息_变动编号 desc")
    If adr IsNot Nothing \'如果找到, 则设置各列内容
        adr("资产时态_其它收益") = e.DataRow("时实资产_非股收益")
        adr("资产时态_溢价收益") = e.DataRow("时实资产_溢价收益")
        adr("资产时态_在投资金") = e.DataRow("时实资产_在投资产")
    End If
End If  \'带入企业名称

--  作者:yangwenghd
--  发布时间:2017/12/4 12:16:00
--  
能在帮忙看看吗?当蓝色代码换成红色代码后 后面的代码也不执行了,感谢 感谢 
目前问题的 在这段代码在表A ,但在投资资产表格输入后也会执行这段代码,可以只有在表a收入改变的时候才能执行这段代码吗?感谢 感谢 

\'If e.DataRow.IsNull("项目信息_关联编号")=False Then
    If e.DataCol.Name="项目信息_关联编号" AndAlso e.DataRow.IsNull("项目信息_关联编号")=False Then
        Dim dr As DataRow = DataTables("投资资产").Find("关联编号=\'" & e.DataRow("项目信息_关联编号") & "\'")
        If dr IsNot Nothing Then
            dr("资产时态_最新价格")=DataTables("行情数据").Find("项目信息_关联编号=\'" & e.DataRow("项目信息_关联编号")  & "\'", "项目信息_变动编号 desc")("录入数据_更新价格")
        End If
    End If

会不会是投资资产的下面代码触发了上面的代码呀 感谢 感谢 
If e.DataCol.Name = "资产时态_最新价格" Then
    Dim adr As DataRow
    adr = DataTables("行情数据").Find("项目信息_关联编号= \'"  & e.DataRow("关联编号") & "\'", "项目信息_变动编号 desc")
    If adr IsNot Nothing \'如果找到, 则设置各列内容
        adr("时实资产_非股收益") = e.DataRow("资产时态_其它收益")
        adr("时实资产_溢价收益") = e.DataRow("资产时态_溢价收益")
        adr("时实资产_在投资产") = e.DataRow("资产时态_在投资金")
    End If
End If  \'本表更新后复制到数据到其他表格
[此贴子已经被作者于2017/12/4 12:19:35编辑过]

--  作者:有点甜
--  发布时间:2017/12/4 12:18:00
--  

列名改成你表A修改的列的的列名

 

e.DataCol.Name="项目信息_关联编号"