以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有没有类似追载的筛选办法?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177049)

--  作者:pyh6918
--  发布时间:2022/5/7 16:24:00
--  有没有类似追载的筛选办法?
我有一个表,根据任一年度的分数先筛选出符合条件的专业,再将2021年的专业带出来一起显示(2021年的专业没有分数)。
1、因为用的是筛选,所以追载不能用。
2、用LOAD,因代码太长出错。一次可能筛选出几百个专业。
Dim filter As String
For Each dr As DataRow In DataTables("专业表").DataRows
    If filter > ""
        filter = filter & " or "
    End If
    filter = filter & "院校名称=\'" & dr("院校名称") & "\' and 专业名称整理=\'" & dr("专业名称整理") & "\'"
Next
DataTables("专业表").LoadFilter = "(" & filter & ") And 年度 In (\'2021\',\'2020\',2019\')
DataTables("专业表").Load

请问有什么好办法?谢谢!

--  作者:有点蓝
--  发布时间:2022/5/7 16:59:00
--  

[此贴子已经被作者于2022/5/7 17:00:02编辑过]

--  作者:有点蓝
--  发布时间:2022/5/7 17:02:00
--  
请使用具体数据举例说明一下
--  作者:pyh6918
--  发布时间:2022/5/7 17:07:00
--  
数据是这样的:


图片点击可在新窗口打开查看此主题相关图片如下:a.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/5/7 17:08:08编辑过]

--  作者:有点蓝
--  发布时间:2022/5/7 17:15:00
--  
解释一下具体逻辑
--  作者:pyh6918
--  发布时间:2022/5/7 20:26:00
--  
如:我查询条件为2020年,702分。
可以查询出经济学类,这时只能筛选出2020年的经济学类。
我想在筛选出2020年的经济学类的同时,2021年的经济学类也显示。(2021年的数据没有分数)

--  作者:狐狸爸爸
--  发布时间:2022/5/8 10:17:00
--  
看不懂

--  作者:pyh6918
--  发布时间:2022/5/8 20:10:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例1.rar


请老师帮忙看一下!
[此贴子已经被作者于2022/5/8 20:11:42编辑过]

--  作者:pyh6918
--  发布时间:2022/5/9 9:31:00
--  

--  作者:有点蓝
--  发布时间:2022/5/9 9:49:00
--  
根据第一步的筛选条件做加载,试试:

dim filter as string = IIF(Tables("专业平均").Filter>"",Tables("专业平均").Filter,"1=1")

DataTables("专业表").LoadFilter = "院校索引+专业名称整理 in (selec院校索引+专业名称整理 from {专业表} where " & filter  & ") And 年度 In (\'2021\',\'2020\',2019\')
DataTables("专业表").Load