以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]这样该如何写代码?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25539)

--  作者:hiliqi
--  发布时间:2012/11/11 17:15:00
--  [求助]这样该如何写代码?
假设我现在有A表和B表,A表有A1列,A2列,B表有B1列,B2列。我想写段代码,遍历A1列和B1列,如果B1列的某一行的值与A1列的某一行相同,那么自设设定B2列的该行的值等于A2的列的该行的值,请问代码该怎么写,求高手给个思路
我在afterload事件中写了段代码,但不起作用,请帮我看看问题出在哪里
Dim i As Integer = 0
Dim j As Integer = 0
Do While i <= Tables("BOM单").Rows.count
    Do While j <= Tables("产品信息表").Rows.count
        If Tables("BOM单").rows(i)("产品名称") = Tables("产品信息表").Rows(j)("品名") Then
            DataTables("BOM单").DataRows(i)("筒子品名") = DataTables("产品信息表").DataRows(j)("筒子")
            DataTables("BOM单").DataRows(i)("标签品名") = DataTables("产品信息表").DataRows(j)("标签")
         End If
        j = j + 1
    Loop
    i = i + 1
Loop
[此贴子已经被作者于2012-11-11 17:32:13编辑过]

--  作者:lin_hailun
--  发布时间:2012/11/12 10:50:00
--  
参考下就可以了。

 For Each r As Row In Tables("B")
     Dim idx As Integer = Tables("A").FindRow("A1 = \'" & r("A1") & "\'", 0, false)
     If idx <> -1 Then
         r("B1") = Tables("A").Rows(idx)("A2")
     End If
 Next