以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码出错怎样改哟  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82253)

--  作者:qctv
--  发布时间:2016/3/14 17:29:00
--  代码出错怎样改哟

If e.DataCol.Name = "项目编号" Then \'发生变化的是物料编号吗?
    \'在项目报告管理表找出该产品
    Dim dr As DataRow
    dr = DataTables("项目报告管理表").Find("项目编号 = \'" & e.DataRow("项目编号") & "\'" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("归属项目")= dr("项目类型")
        e.DataRow("日期")= dr("申报时间")
        e.DataRow("领料单位")= dr("项目单位")
        e.DataRow("类别")= dr("标识")
    End If
End If

我想要的效果能否用按钮实现,对比父表项目报告管理表和子表的材料表,如果项目编号一致,就将对应列的内容复制过去


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160314162802.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/3/14 18:12:00
--  

Dim r As Row = Tables("某表").Current
Dim dr As DataRow
dr = DataTables("项目报告管理表").Find("项目编号 = \'" & r("项目编号") & "\'" )
If dr IsNot Nothing \'如果找到, 则设置各列内容
    r("归属项目")= dr("项目类型")
    r("日期")= dr("申报时间")
    r("领料单位")= dr("项目单位")
    r("类别")= dr("标识")
End If


--  作者:qctv
--  发布时间:2016/3/15 7:56:00
--  
只能实现更新“某表”当前选定行内容,能否查找 “某表”全表并更新
--  作者:Hyphen
--  发布时间:2016/3/15 9:26:00
--  
Dim Dic As new Dictionary(of Row, DataRow)

For Each r As Row In Tables("某表").Rows
    Dim dr As DataRow
    dr = DataTables("项目报告管理表").Find("项目编号 = \'" & r("项目编号") & "\'" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        Dic.Add(r,dr)
    End If
Next

For Each dr2 As Row In dic.Keys
    dr2("归属项目")= dic(dr2)("项目类型")
    dr2("日期")= dic(dr2)("申报时间")
    dr2("领料单位")= dic(dr2)("项目单位")
    dr2("类别")= dic(dr2)("标识")
Next