以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联表如何与主表同步筛选?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71804)

--  作者:sloyy
--  发布时间:2015/7/18 11:35:00
--  关联表如何与主表同步筛选?
如图:主表"年度预算安排表"  关联表 "预算下达情况表" 通过 预算号关联,现在主表通过部门筛选,选出了一部分记录,现在我想问:关联表如何同步筛选出同部门的记录?

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20150718112611.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20150718112647.png
图片点击可在新窗口打开查看

 

--  作者:狐狸爸爸
--  发布时间:2015/7/18 11:44:00
--  

 可以看看这个:

http://www.foxtable.com/help/topics/2228.htm

 

灵活变通一下,就是你的答案,在主表的AfterFilter事件写代码:

 

If Tables("订单").Rows.Count = 0 Then 
    Tables("订单明细").Filter = "订单ID Is Null"
Else
     Dim ids As String
     For Each dr As Row In Tables("订单").Rows
         ids = ids & ",\'" & dr("订单ID") & "\'"
     Next
     ids= ids.Trim(",")
     Tables("订单明细").Filter = "订单ID In (" & ids & ")"
 End If

 


--  作者:狐狸爸爸
--  发布时间:2015/7/18 11:44:00
--  
http://www.foxtable.com/help/topics/2060.htm
--  作者:sloyy
--  发布时间:2015/7/18 12:02:00
--  
解决!
因为我是在菜单栏进行筛选,为了共用同一个菜单筛选条件,我在主表筛选完后,加了一个判断:
Tables("年度预算安排表").Filter=Filter

If CurrentTable.Name="预算下达情况表" Then
    If Tables("年度预算安排表").Rows.Count = 0 Then
        Tables("预算下达情况表").Filter = "预算号 Is Null"
    Else
        Dim ids As String
        For Each dr As Row In Tables("年度预算安排表").Rows
            ids = ids & ",\'" & dr("预算号") & "\'"
        Next
        ids= ids.Trim(",")
        Tables("预算下达情况表").Filter = "预算号 In (" & ids & ")"
    End If
End If