以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于窗口中表是副本时过滤问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90166)

--  作者:hopestarxia
--  发布时间:2016/9/6 23:54:00
--  关于窗口中表是副本时过滤问题

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160906234215.png
图片点击可在新窗口打开查看


图中窗口中Table关联是“资产卡片”表,TABLE表属性 “作为副本”选择的是“True”
在下查询过滤框中输入了过滤条件,但是点“过滤”按钮时不执行数据过滤。
代码如下:
Dim Filter As String
With e.Form.Controls("textbox1")
    If .Value IsNot Nothing Then
        Filter = Filter & "code  Like \'*" & .Value & "*\'  Or name  Like \'*" & .Value & "*\'  Or SPECS  Like \'*" & .Value & "*\' Or note  Like \'*" & .Value & "*\'" 
    End If
End With

With e.Form.Controls("combobox1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "sybmname  Like \'*" & .Value & "*\'"
    End If
End With

With e.Form.Controls("combobox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "afname  Like \'*" & .Value & "*\'"
    End If
End With

If Filter > "" Then
    Tables("assetcard").Filter = Filter
    Dim r As Integer = CurrentTable.Rows.Count
    MessageBox.Show("共找到 " &  r  & "条符合条件的资产信息!", "提示")
End If

注:将TABLE表属性中“作为副本”选项“选择为”False“ 则能正常过滤。

因为此窗口为别的地方引用用来做选择的窗口,此处只能作为副本,需要在事件中执行代码。

个人分析是作为副本后执行过滤的表名称定义得不对,
问题出在 Tables("资产卡片").Filter = Filter
请问此处应该如何指向已经作为副本了的表。

请指导。



--  作者:zcgmxf
--  发布时间:2016/9/7 7:24:00
--  
窗口中的副本表名称 应该的 Tables("窗口名称_Table1")
--  作者:有点蓝
--  发布时间:2016/9/7 8:51:00
--  
注意副本表的名称


--  作者:hopestarxia
--  发布时间:2016/9/8 20:44:00
--  
谢谢。