Foxtable(狐表)用户栏目专家坐堂 → 交叉检索搜索


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

主题:交叉检索搜索

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
交叉检索搜索  发帖心情 Post By:2021/9/29 13:44:00 [显示全部帖子]

老师我想问一下有没有那一两个条件的交集或者是并集来查询搜索的

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/29 14:06:00 [显示全部帖子]

交集跟并集是用and跟or是吧

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/29 14:59:00 [显示全部帖子]

我这个如果要交集的话是不是要Dim Filter As String
With e.Form.Controls("开始2")
    If .Value IsNot Nothing Then
        Filter = Filter & "记录时间 >= #" & .Value & "#"
    End If
End With

With e.Form.Controls("开始")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " or "
        End If
        Filter = Filter & "记录时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("结束")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " or "
        End If
        Filter = Filter & "记录时间 <= #" & .Value & "#"
    End If
End With
With e.Form.Controls("结束")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " or "
        End If
        Filter = Filter & "记录时间 <= #" & .Value & "#"
    End If
End With
If Filter > "" Then
    Tables("主控窗口_Table2").Filter = Filter
End If
图片点击可在新窗口打开查看此主题相关图片如下:1632898454(1).jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/29 15:04:00 [显示全部帖子]

怎么两个结果合在一起
[此贴子已经被作者于2021/9/29 15:05:39编辑过]

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/29 15:08:00 [显示全部帖子]

开始一跟结束一的结果跟开始二跟结束二的筛选合在一起怎么弄

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/29 15:34:00 [显示全部帖子]

Dim Filter As String
With e.Form.Controls("开始")
    If .Value IsNot Nothing Then
        Filter = "(记录时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("结束")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " and "
        End If
        Filter = Filter & "记录时间 <= #" & .Value & "#)"
    Else
        Filter = Filter & ")"
    End If
End With


With e.Form.Controls("开始2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " or "
        End If
        Filter = Filter & "(记录时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("产品类别")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "产品类别 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("产品类别2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " or "
        End If
        Filter = Filter & "产品类别 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("结束2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " and "
        End If
        Filter = Filter & "记录时间 <= #" & .Value & "#)"
    Else
        Filter = Filter & ")"
    End If
End With



If Filter > "" Then
    Tables("主控窗口_Table2").Filter = Filter
End If 老师是不是一个是and 一个是or 他说我右括号太多了

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/29 15:52:00 [显示全部帖子]

建议分开2个条件,然后再合并

Dim Filter As String
With e.Form.Controls("开始")
    If .Value IsNot Nothing Then
        Filter = "记录时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("结束")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " and "
        End If
        Filter = Filter & "记录时间 <= #" & .Value & "#"
    End If
End With

Dim Filter2 As String
With e.Form.Controls("开始2")
    If .Value IsNot Nothing Then
        Filter2 = Filter2 & "记录时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("结束2")
    If .Value IsNot Nothing Then
        If Filter2 >"" Then
            Filter2 = Filter2 & " and "
        End If
        Filter2 = Filter2 & "记录时间 <= #" & .Value & "#"

    End If
End With
If Filter > "" AndAlso Filter2 > "" Then
    Tables("主控窗口_Table2").Filter = "(" & Filter & ") or (" & Filter2 & ")"
else
If Filter > "" Then
    Tables("主控窗口_Table2").Filter = Filter
elseIf Filter 2> "" Then
    Tables("主控窗口_Table2").Filter = Filter2
End If
End If 报错啦老师

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/29 16:03:00 [显示全部帖子]

这样
图片点击可在新窗口打开查看此主题相关图片如下:wechat 圖片_20210929160241.png
图片点击可在新窗口打开查看

 回到顶部