以文本方式查看主题

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

--  作者:BG小白
--  发布时间:2020/6/29 4:00:00
--  跨表引用数据
Select Case e.DataCol.Name
    Case "SPDM"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("SPDM") Then
            dr("KCSL") = Nothing
        Else
            Dim filter As String
            filter = ("spdm=\'" & dr("SPDM") & "\' and GG1DM=\'" & dr("GG1DM") & "\'  and GG2DM=\'" & dr("GG2DM") & "\'")
            pr = DataTables("SPCKB").Find(filter)
            If pr IsNot Nothing Then
                dr("KCSL") = pr("SL")
            End If
        End If
End Select

为什么这段代码没有效果的,不会出现引用的SL

--  作者:linyunu
--  发布时间:2020/6/29 8:12:00
--  
已有的数据,选中SPDM列,重置一下列

表DataColChanged

Select Case e.DataCol.Name
    Case "SPDM"
        If e.DataRow.IsNull("SPDM") Then
            e.DataRow("KCSL") = Nothing
        Else
            Dim pr As DataRow = DataTables("SPCKB").Find("spdm=\'" & e.NewValue & "\' and GG1DM=\'" & e.DataRow("GG1DM") & "\' and GG2DM=\'" & e.DataRow("GG2DM") & "\'")
            If pr IsNot Nothing Then
                e.DataRow("KCSL") = pr("SL")
            End If
        End If
End Select
[此贴子已经被作者于2020/6/29 8:11:50编辑过]

--  作者:BG小白
--  发布时间:2020/6/29 14:24:00
--  
谢谢
[此贴子已经被作者于2020/6/29 14:29:36编辑过]

--  作者:BG小白
--  发布时间:2020/6/29 14:42:00
--  
貌似哪里不对哦,不能每次都重置列吧
--  作者:有点蓝
--  发布时间:2020/6/29 14:47:00
--  
更新代码后,已有的数据重置一下列,以后新增的数据会自动计算
--  作者:BG小白
--  发布时间:2020/6/29 14:52:00
--  
我这个表是临时表,数据是取值过来的,是不是只能每次重置列了,有没有其他办法呢,比如我一楼的代码就不用重置列
--  作者:有点蓝
--  发布时间:2020/6/29 15:05:00
--  
代码都一样,没有区别