Foxtable(狐表)用户栏目专家坐堂 → 【求助】窗口设计中的多列筛选问题


  共有2952人关注过本帖树形打印复制链接

主题:【求助】窗口设计中的多列筛选问题

帅哥哟,离线,有人找我吗?
wangjx817
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2104 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2018/10/29 10:36:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:剪辑_9.jpg
图片点击可在新窗口打开查看
在泗泾站的某时间段的走访记录时,其他站在改时间段也出来了。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/29 11:00:00 [只看该作者]

贴出你写的查询代码


 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2104 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2018/10/29 14:25:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("管理站")
    If .Value IsNot Nothing Then
        Filter = "管理站 = '" & .Value & "'"
    End If
End With
Dim filter2 As String
For i As Integer = 1 To 4
    Dim f2 As String = ""
    With e.Form.Controls("走访开始")
        If .Value IsNot Nothing Then
            f2 = f2 & "走访记录" & i & " >= #" & .Value & "# "
        End If
    End With
    With e.Form.Controls("走访结束")
        If .Value IsNot Nothing Then
            If f2 >"" Then
                f2 = f2 & " And "
            End If
            f2 = f2 & "走访记录" & i & " <= #" & .Value & "# "
        End If
    End With
    If filter2 >"" Then
        filter2 = filter2 & " or "
    End If
    filter2 = filter2 & f2
Next
If filter2 > "" Then
    msgbox(filter2 )
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & filter2
End If

If Filter >"" Then
    Tables("住宅小区基础信息表_住宅小区信息汇总表").Filter = Filter
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/29 14:38:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("管理站")
    If .Value IsNot Nothing Then
        Filter = "管理站 = '" & .Value & "'"
    End If
End With
Dim filter2 As String
For i As Integer = 1 To 4
    Dim f2 As String = ""
    With e.Form.Controls("走访开始")
        If .Value IsNot Nothing Then
            f2 = f2 & "走访记录" & i & " >= #" & .Value & "# "
        End If
    End With
    With e.Form.Controls("走访结束")
        If .Value IsNot Nothing Then
            If f2 >"" Then
                f2 = f2 & " And "
            End If
            f2 = f2 & "走访记录" & i & " <= #" & .Value & "# "
        End If
    End With
    If filter2 >"" Then
        filter2 = filter2 & " or "
    End If
    filter2 = filter2 & f2
Next
If filter2 > "" Then
    msgbox(filter2 )
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "(" & filter2 & ")"
End If

If Filter >"" Then
    Tables("住宅小区基础信息表_住宅小区信息汇总表").Filter = Filter
End If

 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2104 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2018/10/29 14:45:00 [只看该作者]

狐爸,代码成功了,太厉害。但是我想问一下,什么情况下,表达式的前后需要加()。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/29 14:49:00 [只看该作者]

以下是引用wangjx817在2018/10/29 14:45:00的发言:
狐爸,代码成功了,太厉害。但是我想问一下,什么情况下,表达式的前后需要加()。

 

and 和 or 的优先级不同,类似【先乘除后加减】,先计算and,后计算or,所以or的条件,基本要加上括号。


 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2104 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2018/10/29 14:53:00 [只看该作者]

非常感谢,收获不少,希望这也能给其他同学有帮助。再次感谢老师的耐心指导。

 回到顶部
总数 17 上一页 1 2