以文本方式查看主题

-  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
Dim
 msg As String = "D#" & "A" & "#" & r("_Identify")
r
.Delete()
Tables
("子表A").Save()
For
 Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    
End If
Next


如何修改按钮代码即时同步删除多个子表中符合条件的行?


--  作者:有点蓝
--  发布时间:2019/2/16 16:26:00
--  

删除按钮,按钮代码设置为:

Dim r As Row = Tables("父表").Current
Dim
 msg As String = "D#" & "父表" & "#" & r("_Identify") & "#" & r("IDD") & "#子表A|子表B|子表C"

r.Delete()
r.Save()

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
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    
End If
Next


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
--  
已经改好了,谢谢啦