以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  帮我简化下这个窗口筛选代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2761)

--  作者:卟离卟弃
--  发布时间:2009/5/12 13:56:00
--  帮我简化下这个窗口筛选代码

Dim Filter As String

With e.Form.Controls("a")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "负责工程师 = \'" & .Value & "\'"
    End If
End With

With e.Form.Controls("b")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "任务进行状态 < \'" & .Value & "\' or 任务进行状态 > \'" & .Value & "\'"
    End If
End With

With e.Form.Controls("c")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "实际结束时间 >= #" & .Value & "#"
    End If
End With

With e.Form.Controls("d")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "实际结束时间 <= #" & .Value & "#"
    End If
End With

If Filter > "" Then
    Tables("工作任务表").Filter = Filter
End If

请各位高手们帮我简化下这个按钮事件代码。
同时确认下With-----End With 在上面的代码使用过程中是不是有选后顺序之分?
Filter = Filter & "任务进行状态 < \'" & .Value & "\' or 任务进行状态 > \'" & .Value & "\'"
改成Filter = Filter & "任务进行状态 <> \'" & .Value & "\'"  为什么改成这样不行?
 Filter = Filter & "实际结束时间 <= #" & .Value & "#"  这里面有<又有=为什么行,为什么上面的 < 和 > 就不行了







--  作者:狐狸爸爸
--  发布时间:2009/5/12 14:06:00
--  
没看出为啥不醒。
你可以用Messagebox.show(Filter),检查一下生成的查询语句,看看到底是什么。
--  作者:卟离卟弃
--  发布时间:2009/5/12 16:13:00
--  

哦谢谢