左栏'); } else{ document.write('关闭左栏'); } }catch(e){alert(e);}
Foxtable(狐表)用户栏目专家坐堂 → [求助]如何即时同步删除多个子表中符合条件的行?


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

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

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望: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事件判断属于这种规则就删除子表数据

 回到顶部