以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  学习发问贴。。关于 Filter  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60651)

--  作者:nclo
--  发布时间:2014/11/28 13:02:00
--  学习发问贴。。关于 Filter

Dim Filter As String


With e.Form.Controls("StartDate")

If .Value IsNot Nothing Then
        
If Filter >"" Then
            Filter = Filter & 
" And "
        
End If
        Filter = Filter & 
"日期 >= #" & .Value & "#"
    
End If
End
 With

基础还是太薄弱。。请问高手大神,If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & 
" And "

这一句是个什么意思,起了什么作用?从英文的角度来说,我觉得 Filter = Filter & "日期 >= #" & .Value & "#"
    End If
End
 With


就够了啊。。。谢谢解答疑惑。。

--  作者:blackzhu
--  发布时间:2014/11/28 13:25:00
--  
上一个filter 跟下一个 连起来呀!
--  作者:Bin
--  发布时间:2014/11/28 14:01:00
--  
判断一下.文本框输入的内容是否为空. 如果不是空,说明之前有添加一个条件了.就要加个 AND  把两个条件连接起来
--  作者:nclo
--  发布时间:2014/11/28 15:49:00
--  
If Filter >"" Then
            Filter = Filter & 
" And "

Filter = Filter,BIN老师,就是这里我想问问是什么意思啊。。。看不懂

--  作者:有点甜
--  发布时间:2014/11/28 15:55:00
--  
 就是在原来的基础上,加上 And 字符
--  作者:nclo
--  发布时间:2014/11/28 16:01:00
--  
感谢甜老师解答,If .Value IsNot Nothing Then
        
If Filter >"" Then
            Filter = Filter & 
" And "

在原来的基础上加上AND,那可以理解为这是第一个条件吗?If Filter >"" 是不是就是大于空值的意思?


--  作者:有点甜
--  发布时间:2014/11/28 16:03:00
--  

> ""

 

意思是,如果filter不是空值


--  作者:nclo
--  发布时间:2014/11/28 16:32:00
--  
甜老师,我就是这里想不明白, Filter = Filter & " And "
        
End If
        Filter = Filter & 
"日期 >= #" & .Value & "#"

我觉得前面已经有条件不是空值了,我觉得 Filter = Filter & "日期 >= #" & .Value & "#"就已经说明了后面的条件,因为有个>=涵盖了Filter = Filter 。。不明白为什么要加一句,Filter = Filter & " And "

每次都麻烦大神您给我解答,小弟还是想知其所以然啊、、、

--  作者:有点甜
--  发布时间:2014/11/28 16:43:00
--  

  加一句,是为了处理Filter是不是空值,如果不是空值,加入 And ,得到的筛选条件是会有错的

 

 


--  作者:nclo
--  发布时间:2014/11/28 16:47:00
--  
感谢!原来如此!!