以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  二个表有很多相同的列名称,一个表提取另一个的数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=97010)

--  作者:有点蓝
--  发布时间:2017/3/4 9:29:00
--  
代码运行后有什么错误?
--  作者:有点蓝
--  发布时间:2017/3/4 15:03:00
--  

1、只有重置case里的列才有效

 

2、说明没有符合的数据


--  作者:有点蓝
--  发布时间:2017/3/4 15:54:00
--  

这个代码本身的逻辑有问题,先理清自己要做什么

 

如果没有输入内容,就没有查询的条件,如果输入内容,查询后的结果也就和原来的值是一样的,再赋值回原来的列有什么意义呢


--  作者:有点蓝
--  发布时间:2017/3/4 16:15:00
--  
Select Case e.DataCol.name
    Case "其它列1","其它列2","其它列三",......
        Dim dt As DataTable = DataTables("表B")
        If dt.DataCols.Contains(e.DataCol.name) Then
            Dim fdr As DataRow = dt.find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 咨询类型 = \'" & e.DataRow("咨询类型") & "\'")
            If fdr IsNot Nothing Then
                e.DataRow(e.DataCol.name) = fdr(e.DataCol.name)
            End If
        End If
End Select

--  作者:有点蓝
--  发布时间:2017/3/4 17:04:00
--  
Select Case e.DataCol.name
    Case "项目名称","咨询类型"
case else
        Dim dt As DataTable = DataTables("表B")
        If dt.DataCols.Contains(e.DataCol.name) Then
            Dim fdr As DataRow = dt.find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 咨询类型 = \'" & e.DataRow("咨询类型") & "\'")
            If fdr IsNot Nothing Then
                e.DataRow(e.DataCol.name) = fdr(e.DataCol.name)
            End If
        End If
End Select

--  作者:有点色
--  发布时间:2017/3/5 12:06:00
--  
Select Case e.DataCol.name
    Case "项目名称","咨询类型"
        Dim dt As DataTable = DataTables("代理招标信息")
        Dim fdr As DataRow = dt.find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 咨询类型 = \'" & e.DataRow("咨询类型") & "\'")
        If fdr IsNot Nothing Then
            For Each dc As DataCol In e.DataTable.datacols
                If dt.datacols.Contains(dc.name)
                    e.DataRow(dc.name) = fdr(dc.name)
                End If
            Next
        End If
End Select
[此贴子已经被作者于2017/3/5 22:01:51编辑过]

--  作者:有点色
--  发布时间:2017/3/5 22:02:00
--  
Select Case e.DataCol.name
    Case "项目名称","咨询类型"
        Dim dt As DataTable = DataTables("代理招标信息")
        Dim fdr As DataRow = dt.find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 咨询类型 = \'" & e.DataRow("咨询类型") & "\'")
        If fdr IsNot Nothing Then
            For Each dc As DataCol In e.DataTable.datacols
                If dt.datacols.Contains(dc.name)
                    e.DataRow(dc.name) = fdr(dc.name)
                End If
            Next
        End If
End Select