Foxtable(狐表)用户栏目专家坐堂 → [求助]如何即时同步删除多个子表中符合条件的行?


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

主题:[求助]如何即时同步删除多个子表中符合条件的行?

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


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
[求助]如何即时同步删除多个子表中符合条件的行?  发帖心情 Post By: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


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


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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
  发帖心情 Post By:2019/2/16 16:47:00 [只看该作者]

我没表达清楚,是保留父表当前行数据,只删除三个子表的关联行

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/16 17:49:00 [只看该作者]

道理都是相通的,自己拼凑一种规则

Dim msg As String = "D子表#" & r("IDD") & "#子表A|子表B|子表C"

发送这种消息

然后QQClient的ReceivedMessage事件判断属于这种规则就删除子表数据

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


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
  发帖心情 Post By:2019/2/16 18:00:00 [只看该作者]

父行也被删除了

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


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
  发帖心情 Post By:2019/2/16 18:09:00 [只看该作者]

已经改好了,谢谢啦

 回到顶部