以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]根据单元格值在其他表找到所在的列名  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114088)

--  作者:天一生水
--  发布时间:2018/1/28 17:35:00
--  [求助]根据单元格值在其他表找到所在的列名

当在“通知”表的[被通知人]录入数据时,将此数据在“数据表”---[原告]、[被告]、[第三人]列查找,将找到数据所在列名,赋值给“通知表”的[诉讼地位],如图:

 


图片点击可在新窗口打开查看此主题相关图片如下:ok.jpg
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列名赋值.table


谢谢!


--  作者:有点甜
--  发布时间:2018/1/28 18:07:00
--  

参考 http://www.foxtable.com/webhelp/scr/2965.htm

 


--  作者:天一生水
--  发布时间:2018/1/28 22:51:00
--  

老师指示看的代码没看懂,先用笨方法写了一段代码,能找到数据,也不知道是否合理。但是,感到数据多时,这样查找效率太低,因为实际要查找的列有9列。

请老师指教一段高效率的代码,谢谢!

 

通知表的DataColChanged:

If e.DataCol.Name = "被通知人" Then
    For Each dr1 As DataRow In DataTables("通知").DataRows
        Dim dr2 As DataRow = DataTables("数据表").find("原告 like \'%" & dr1("被通知人") & "%\'")
        If dr2 IsNot Nothing Then
            dr1("诉讼地位") = "原告"
        End If
        Dim dr3 As DataRow = DataTables("数据表").find("被告 like \'%" & dr1("被通知人") & "%\'")
        If dr3 IsNot Nothing Then
            dr1("诉讼地位") = "被告"
        End If
        Dim dr4 As DataRow =DataTables("数据表").find("第三人 like \'%" & dr1("被通知人") & "%\'")
        If dr4 IsNot Nothing Then
            dr1("诉讼地位") = "第三人"
        End If
    Next
End If

[此贴子已经被作者于2018/1/28 22:53:00编辑过]

--  作者:有点甜
--  发布时间:2018/1/29
--  

If e.DataCol.Name = "被通知人" Then
    Dim dr1 = e.DataRow
    Dim dr2 As DataRow = DataTables("数据表").find("案号 = \'" & e.DataRow("案号") & "\' and 原告 like \'%" & dr1("被通知人") & "%\'")
    If dr2 IsNot Nothing Then
        dr1("诉讼地位") = "原告"
    End If
    Dim dr3 As DataRow = DataTables("数据表").find("案号 = \'" & e.DataRow("案号") & "\' and 被告 like \'%" & dr1("被通知人") & "%\'")
    If dr3 IsNot Nothing Then
        dr1("诉讼地位") = "被告"
    End If
    Dim dr4 As DataRow =DataTables("数据表").find("案号 = \'" & e.DataRow("案号") & "\' and 第三人 like \'%" & dr1("被通知人") & "%\'")
    If dr4 IsNot Nothing Then
        dr1("诉讼地位") = "第三人"
    End If
End If