以文本方式查看主题

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

--  作者:winds
--  发布时间:2020/2/23 15:43:00
--  求指教
AB两张表,
需求1:A表中第三列(不能用表达式)的数据由第一列&第二列连接自动生成,
需求2:凭A表中第三列的自动生成的数据在B表中第一列查找相同数据的行记录,
需求3:找到后将B表第二列的值写入A表第四列。

哪位大神能给一个完整实现编程代码

--  作者:sloyy
--  发布时间:2020/2/23 16:38:00
--  
For Each r As Row In Tables("表A").Rows
    r("第三列") = r("第一列")& r("第二列")
    Dim dr As DataRow
    dr = DataTables("表B").Find("第一列=\'" & r("第三列") &"\'")
    If dr IsNot Nothing Then \'如果找到的话
        r("第四列")=dr("第二列")
    End If
Next
[此贴子已经被作者于2020/2/23 16:38:50编辑过]

--  作者:有点蓝
--  发布时间:2020/2/23 21:45:00
--  
如果要表事件处理,可以在datacolchanged事件添加以下代码

select case e.datacol.name
case "第一列","第二列"
    e.datarow("第三列") = e.datarow("第一列") & e.datarow("第二列")
case "第三列"
    Dim dr As DataRow
    dr = DataTables("表B").Find("第一列=\'" & e.newvalue & "\'")
    If dr IsNot Nothing Then \'如果找到的话
        e.datarow("第四列")=dr("第二列")
    End If
end if