以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何即时同步删除多个子表中符合条件的行? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131100) |
-- 作者:hahahehe21 -- 发布时间:2019/2/16 15:23:00 -- [求助]如何即时同步删除多个子表中符合条件的行? DataTables("子表A").DeleteFor("IDD = \'" & Tables("父表").Current("IDD") & "\'") DataTables("子表B").DeleteFor("IDD = \'" & Tables("父表").Current("IDD") & "\'") DataTables("子表C").DeleteFor("IDD = \'" & Tables("父表").Current("IDD") & "\'") 删除按钮,按钮代码设置为: Dim r As Row = Tables("子表A").Current 如何修改按钮代码即时同步删除多个子表中符合条件的行? |
-- 作者:有点蓝 -- 发布时间:2019/2/16 16:26:00 -- 删除按钮,按钮代码设置为: Dim r As Row = Tables("父表").Current r.Delete() DataTables("子表A").DeleteFor("IDD = \'" & r("IDD") & "\'") DataTables("子表A").save DataTables("子表B").DeleteFor("IDD = \'" & r("IDD") & "\'") DataTables("子表B").save DataTables("子表C").DeleteFor("IDD = \'" & r("IDD") & "\'") DataTables("子表C").save For Each bd As QQBuddy In QQClient.Buddies QQClient的ReceivedMessage事件中修改代码: …… ElseIf msg.StartsWith("D#") Then \'表示删除了行 Dim pts() As String = msg.Split("#") If pts.Length >= 3 Then DataTables(pts(1)).RemoveFor("[_Identify] = " & pts(2)) \'移除行 End If If pts.Length = 5 Then For Each tn As String In pts(4).split("|") DataTables(tn).DeleteFor("IDD = \'" & pts(3) & "\'") Next End If End If [此贴子已经被作者于2019/2/16 16:27:51编辑过]
|
-- 作者:hahahehe21 -- 发布时间:2019/2/16 16:47:00 -- 我没表达清楚,是保留父表当前行数据,只删除三个子表的关联行 |
-- 作者:有点蓝 -- 发布时间:2019/2/16 17:49:00 -- 道理都是相通的,自己拼凑一种规则 Dim msg As String = "D子表#" & r("IDD") & "#子表A|子表B|子表C" 发送这种消息 然后QQClient的ReceivedMessage事件判断属于这种规则就删除子表数据
|
-- 作者:hahahehe21 -- 发布时间:2019/2/16 18:00:00 -- 父行也被删除了 |
-- 作者:hahahehe21 -- 发布时间:2019/2/16 18:09:00 -- 已经改好了,谢谢啦 |