以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于关联表更新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161390)

--  作者:lisangyu
--  发布时间:2021/3/16 10:40:00
--  关于关联表更新
蓝总:上午好!表A和表B就 一级目录 二级目录 三级目录  四级目录 单向关联,表A为父表,表B为子表。正常情况只要表A 前四列 (一级目录 二级目录 三级目录  四级目录 )发生变化,表B会自动更新,这种更新能加条件吗?如原列值为空,则不更新,只有在原不为空的基础的修改才更新子表?
--  作者:有点蓝
--  发布时间:2021/3/16 10:48:00
--  
去掉勾选异步更新的选项:http://www.foxtable.com/webhelp/topics/1644.htm

到表事件使用代码同步更新:http://www.foxtable.com/webhelp/topics/1453.htm

--  作者:lisangyu
--  发布时间:2021/3/16 11:07:00
--  
之前用非关联表同步
在目录表里 datacolchanged 
Select Case e.DataCol.name
    Case "一级目录"
        
        Dim dr As DataRow = DataTables("知识文档").Find("一级目录 =  \'" & e.OldValue & "\'")
        If dr Is Nothing Then
            Return
        Else
            dr("一级目录") = e.DataRow("一级目录")
        End If
    Case "二级目录"
        Dim dr As DataRow = DataTables("知识文档").Find("一级目录 = \'"  & e.DataRow("一级目录") &  "\' And  二级目录 = \'" & e.OldValue & "\'")
        If dr Is Nothing Then
            Return
        Else
            dr("二级目录") = e.DataRow("二级目录")
        End If

 end select 

通过目录树更改目录表, 再间接更改知识文档表。结果更改目录表中的一级目录后,知识文档里的一级目录不是全部更新了,只更新了一份。纠结!
[此贴子已经被作者于2021/3/16 11:07:54编辑过]

--  作者:有点蓝
--  发布时间:2021/3/16 11:16:00
--  
全部更新参考:http://www.foxtable.com/webhelp/topics/1532.htm