以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  模糊筛选的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13408)

--  作者:blackzhu
--  发布时间:2011/10/11 10:39:00
--  模糊筛选的问题
dim filter as string 
For Each dc As Col In CurrentTable.Cols
        If Filter > "" Then
            CurrentTable.Filter = "[" & dc.Name & "] Like \'*" & cb3 & "*\'"
        End If
    Next
老大这个代码怎么改才有作用,想当前表的所有列都参与筛选.

--  作者:狐狸爸爸
--  发布时间:2011/10/11 10:41:00
--  
Dim Filter As String
For Each dc As Col In CurrentTable.Cols
    If Filter > "" Then
        Filter  = Filter & " And "
    End If
    Filter = Filter  & "[" & dc.Name & "] Like \'*" & cb3 & "*\'"
Next
CurrentTable.Filter = Filter

--  作者:blackzhu
--  发布时间:2011/10/11 10:46:00
--  
出错,要不要排除那些什么时间啊,数值一类的,如果要排除,怎么写代码?
--  作者:狐狸爸爸
--  发布时间:2011/10/11 10:50:00
--  
Dim Filter As String
For Each dc As Col In CurrentTable.Cols
    If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then
        Continue For
    End If
    If Filter > "" Then
        Filter  = Filter & " And "
    End If
    Filter = Filter  & "[" & dc.Name & "] Like \'*" & cb3 & "*\'"
Next
CurrentTable.Filter = Filter

--  作者:blackzhu
--  发布时间:2011/10/11 10:53:00
--  
老大,真快,我还在写呢,你就写给我了.
--  作者:blackzhu
--  发布时间:2011/10/11 10:59:00
--  
不起作用,怎么回事?
--  作者:狐狸爸爸
--  发布时间:2011/10/11 11:04:00
--  

Dim Filter As String
For Each dc As Col In CurrentTable.Cols
    If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then
        Continue For
    End If
    If Filter > "" Then
        Filter  = Filter & " Or "
    End If
    Filter = Filter  & "[" & dc.Name & "] Like \'*" & cb3 & "*\'"
Next
CurrentTable.Filter = Filter


--  作者:blackzhu
--  发布时间:2011/10/11 11:09:00
--  
OK,很好用
--  作者:狐狸爸爸
--  发布时间:2011/10/11 11:10:00
--  

明白And和Or的差别了吗?


--  作者:blackzhu
--  发布时间:2011/10/11 11:14:00
--  
哈哈,利用一个按钮筛选任何一个表的指定列以及通用查询ok啦.