Foxtable(狐表)用户栏目专家坐堂 → 关于关联表更新


  共有3654人关注过本帖树形打印复制链接

主题:关于关联表更新

帅哥哟,离线,有人找我吗?
lisangyu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4295 威望:0 精华:0 注册:2019/8/5 17:49:00
关于关联表更新  发帖心情 Post By:2021/3/16 10:40:00 [只看该作者]

蓝总:上午好!表A和表B就 一级目录 二级目录 三级目录  四级目录 单向关联,表A为父表,表B为子表。正常情况只要表A 前四列 (一级目录 二级目录 三级目录  四级目录 )发生变化,表B会自动更新,这种更新能加条件吗?如原列值为空,则不更新,只有在原不为空的基础的修改才更新子表?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/16 10:48:00 [只看该作者]

去掉勾选异步更新的选项:http://www.foxtable.com/webhelp/topics/1644.htm

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

 回到顶部
帅哥哟,离线,有人找我吗?
lisangyu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:4295 威望:0 精华:0 注册:2019/8/5 17:49:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/16 11:16:00 [只看该作者]


 回到顶部