以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  replacefor  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90663)

--  作者:huhu
--  发布时间:2016/9/19 14:55:00
--  replacefor
这段代码有问题吗?
Dim lts As List(of DataRow) = DataTables("临时版本跟踪表").Select("")
msgbox(0)
For Each dr As DataRow In lts
    If dr.IsNull("需求描述") Then
            msgbox(1)
        Dim dr1 As DataRow = DataTables("需求主表").SQLFind("需求编号 = \'" & dr("需求编号") & "\'")
        If dr1 IsNot Nothing Then
            msgbox(2)
            DataTables("临时版本跟踪表").SQLReplaceFor("需求描述",dr1("需求描述"))
            DataTables("临时版本跟踪表").ReplaceFor("需求描述",dr1("需求描述"))
        End If
    End If
Next

--  作者:有点蓝
--  发布时间:2016/9/19 15:44:00
--  
请详细说明你要做什么。没有上下文,神仙也看不出有什么问题
--  作者:huhu
--  发布时间:2016/9/19 16:05:00
--  
For Each dr As DataRow In DataTables("临时版本跟踪表").DataRows
    msgbox(123)
    If dr.IsNull("需求描述") Then
        msgbox(456)
        Dim dr1 As DataRow = DataTables("需求主表").SQLFind("需求编号 = \'" & dr("需求编号") & "\'")
        If dr1 IsNot Nothing Then
            msgbox(0)
            DataTables("临时版本跟踪表").SQLReplaceFor("需求描述",dr1("需求描述"),"需求编号" = dr1("需求编号"))
            DataTables("临时版本跟踪表").ReplaceFor("需求描述",dr1("需求描述"),"需求编号" = dr1("需求编号"))
            msgbox(1)
        End If
    End If
Next

就是希望做到。就是临时版本跟踪表的需求描述的值为需求主表的需求描述的值,只替换条件为2个表的需求编号是相等的行。

--  作者:有点蓝
--  发布时间:2016/9/19 16:18:00
--  
For Each dr As DataRow In DataTables("临时版本跟踪表").DataRows
    msgbox(123)
    If dr.IsNull("需求描述") Then
        msgbox(456)
        Dim dr1 As DataRow = DataTables("需求主表").SQLFind("需求编号 = \'" & dr("需求编号") & "\'")
        If dr1 IsNot Nothing Then
            msgbox(0)
            DataTables("临时版本跟踪表").SQLReplaceFor("需求描述",dr1("需求描述"),"需求编号" = dr1("需求编号"))
            msgbox(1)
        End If
    End If
Next
DataTables("临时版本跟踪表").load

如果数据完全加载了,这样就好
For Each dr As DataRow In DataTables("临时版本跟踪表").DataRows
    msgbox(123)
    If dr.IsNull("需求描述") Then
        msgbox(456)
        Dim dr1 As DataRow = DataTables("需求主表").SQLFind("需求编号 = \'" & dr("需求编号") & "\'")
        If dr1 IsNot Nothing Then
            msgbox(0)
            dr("需求描述") = dr1("需求描述")
            msgbox(1)
        End If
    End If
Next