Foxtable(狐表)用户栏目专家坐堂 → [求助]父表与子表间关联行相互删除


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

主题:[求助]父表与子表间关联行相互删除

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


加好友 发短信
等级:幼狐 帖子:130 积分:1141 威望:0 精华:0 注册:2013/6/9 11:20:00
[求助]父表与子表间关联行相互删除  发帖心情 Post By:2016/7/8 10:53:00 [只看该作者]

我现在设置“表A”(子表)与“表C”(父表)相关联,我在“表A"的datarowdeleting事件中设置了如入代码

 

Dim pr As DataRow = e.DataRow.GetParentRow("表C") '获得此明细对应的订单
If pr IsNot  Nothing Then '如果有对应的订单
    If pr.GetChildRows("表A").count = 1 Then '且这个订单的明细只有一个了
    MessageBox.Show("'"& pr("备注") &"'")
        pr.Delete() '删除这个订单
    End If
End If

这个代码的执行前题是在关联设置中不能选'同步删除关联行'的选项。

而我又希望在删除父表”表C"的行时,同步删除子表的关联行。这个如何来写代码?

我想在删除父表行时,同步删除子表又会执行上面子表的代码,会不会引起死循环?

[此贴子已经被作者于2016/7/8 10:54:28编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/8 10:57:00 [只看该作者]

SystemReady = False

 pr.Delete() '删除这个订单

SystemReady = True


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


加好友 发短信
等级:幼狐 帖子:130 积分:1141 威望:0 精华:0 注册:2013/6/9 11:20:00
  发帖心情 Post By:2016/7/8 11:10:00 [只看该作者]

这行代码是加在“表A”的 datarowdeleting事件中的吗?如果使用这个代码,那关联表中的“同步删除行”的选项是否就可以使用了?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/8 11:16:00 [只看该作者]

 不可以勾选。

 

 父表删除子表的代码这样写

 

SystemReady = False

    DataTables("表A").DeleteFor("关联列 = '" & e.datarow("关联列") & "'")

SystemReady = True


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


加好友 发短信
等级:幼狐 帖子:130 积分:1141 威望:0 精华:0 注册:2013/6/9 11:20:00
  发帖心情 Post By:2016/7/8 11:33:00 [只看该作者]

测试成功

 回到顶部