以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态列名做条件的写法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188509)

--  作者:njzwm
--  发布时间:2023/9/23 13:39:00
--  动态列名做条件的写法
我用动态列名做筛选条件,发现有错,但是不知道应该怎么写,向各位老师请教:

Dim Item As String
Item = "空滤"

Dim dr As DataRow
Tables ("记录总表").Filter = "\'" & dr("Item") & "\' = true"

最后句改成这样也不行:

Tables ("记录总表").Filter = "\'" & dr(\'Item\') & "\' = true"

--  作者:有点蓝
--  发布时间:2023/9/23 13:54:00
--  
假设dr("空滤")这个单元格里存储的内容是“第一列”

那么最终需要的效果是?
Tables ("记录总表").Filter = "空滤 = true"
还是?
Tables ("记录总表").Filter = "第一列 = true"

--  作者:linyunu
--  发布时间:2023/9/23 13:57:00
--  
Tables ("记录总表").Filter = "第一列 = true"         --》      Tables ("记录总表").Filter = dr(Item) & "=true"   
Tables ("记录总表").Filter = "空滤 = true"            --》       Tables ("记录总表").Filter = Item & "=true" 

--  作者:njzwm
--  发布时间:2023/9/23 14:15:00
--  
item 是一个动态的变量,取值是记录总表中的列名之一,列的值是逻辑值(true or false)。应用中是根据实际情况设置不同列的条件,比如可以设置 当列名=“空滤” 或列名 =“冷却液”为 true时为条件。

二楼的写法我试了,也不行。错误是:未将对象引用设置到对象的实例。

最后要的效果是:Tables(”记录总表“).filter = "空滤 = true"
[此贴子已经被作者于2023/9/23 14:19:10编辑过]

--  作者:有点蓝
--  发布时间:2023/9/23 14:29:00
--  
看3楼
--  作者:njzwm
--  发布时间:2023/9/23 15:11:00
--  
问题解决了,谢谢二位!