以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关联表格筛选问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139478)

--  作者:piratesytu
--  发布时间:2019/8/13 17:27:00
--  [求助]关联表格筛选问题
表A和表B都有【编号】列,并以此列关联,表B有一列【考核】,请教老师们,窗口打开表A时,如何根据表B的考核结果筛选表A?
--  作者:有点蓝
--  发布时间:2019/8/13 17:36:00
--  
dim str as string = ""
for each dr as datarow in datatables("B").select("审核=true")
    str = str & ",\'" & dr("编号") & "\'"
next
str = str.trim(",\')
tables("A").filter = "编号 in (" & str & ")"
[此贴子已经被作者于2019/8/13 17:37:11编辑过]

--  作者:piratesytu
--  发布时间:2019/8/13 17:50:00
--  
老师不好意思,我没表达清楚
筛选是通过TopicBar的,考核结果分考核结果-年度和考核结果-等次两列,不是通过项目事件

--  作者:有点蓝
--  发布时间:2019/8/13 20:57:00
--  
看懂代码了吗?不会就上传实例
[此贴子已经被作者于2019/8/13 20:57:16编辑过]

--  作者:piratesytu
--  发布时间:2019/8/14 8:59:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

已上传,请教老师,表b和表c通过编号列关联,TopicBar筛选2018年考核结果为优的,2017年所有,所有优,等几种情况,该怎么写

--  作者:有点蓝
--  发布时间:2019/8/14 9:11:00
--  
比如2018年考核结果为优

    Case "2018年度优"
        Dim str As String = ""
        For Each dr As DataRow In DataTables("表C").Select("年度=\'2018年度\' and 考核结果=\'优\'")
            str = str & ",\'" & dr("编号") & "\'"
        Next
        str = str.trim(",")
        Tables("表B").filter = "编号 in (" & str & ")"

不同的筛选方式,只需要照搬上面的代码,改Select后面的条件即可

--  作者:piratesytu
--  发布时间:2019/8/14 10:23:00
--  
谢谢老师!
另外请教一个问题,利用查找框检索,如果选择点在某一单元格,检索内容恰好是此选择点单元格内容时,会出现弹出“没有符合条件的行”提示,哪怕此单元格已经不在视图中也会如此?这很容易造成漏搜索啊,比如选择点往往在第一行,但是检索内容恰好是第一行的时候,就会出现“没有符合条件的行”,造成漏搜索

--  作者:有点蓝
--  发布时间:2019/8/14 10:28:00
--  
内置的查询功能默认是从下一行开始搜索。没看到按钮标题是“查找下一个”么。
--  作者:piratesytu
--  发布时间:2019/8/14 10:29:00
--  
这不科学吧?请教老师能自己设置吗?
--  作者:有点蓝
--  发布时间:2019/8/14 10:59:00
--  
自己做查询窗口:http://www.foxtable.com/webhelp/topics/1058.htm