Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口表多关键字查询


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

主题:[求助]窗口表多关键字查询

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 22:47:00 [只看该作者]

代码没有问题,因为根本就没有符合条件的数据。and是所有条件同时符合,比如输入1,同一行所有单元格都必须有1才符合。

想清楚自己到底要做什么?

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/12/17 10:48:00 [只看该作者]

谢谢蓝老师!

我是想在筛选出第1个关键字结果的基础上,进行第2个关键字的筛选,然后第3个......

但是感到还是要遍历所有列,要用“and”,因此,不知道怎么弄了。

请老师指教!谢谢!


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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/17 10:57:00 [只看该作者]

这个和and基本没有关系

With e.Form.Controls("TextBox1")
    If .text IsNot Nothing Then
        Dim str As String = "1=2"
        For Each s As String In .text.split(",")
            If s > "" Then
                For Each c As Col In Tables("查询_Table1").Cols
                    If c.IsNumeric OrElse c.IsDate  Then
                        str &= " or Convert(" & c.name & " , 'System.String') Like '%" & s & "%'"
                    Else
                        str &= " or " & c.name  & " Like '%" & s & "%'"
                    End If
                Next
            End If
        Next
        Tables("查询_Table1").Filter = IIF(Tables("查询_Table1").Filter > "",Tables("查询_Table1").Filter & " and (" & str & ")","(" & str & ")")
    End If
End With

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/12/17 15:49:00 [只看该作者]

但是只有第一个值进行了筛选,第二个开始都没有起作用,是什么原因?


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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/17 15:55:00 [只看该作者]

上传实例说明

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/12/17 16:34:00 [只看该作者]

请老师看实例。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2019-12-17查询-测试.table


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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/17 16:44:00 [只看该作者]

代码没有问题,要知道条件是不断累加的。不需要累加的时候自己清空一下条件。还是那句话,要搞清楚自己到底要什么

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/12/17 22:31:00 [只看该作者]

蓝老师好!还是弄不对。
我想依次录入如图中的这三个数,需要的结果是仅保留第一行;但现在显示的结果是仅筛选了第一个数的结果。
不知道怎样清空一下条件,再叠加~

图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (5).jpg
图片点击可在新窗口打开查看




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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/17 22:43:00 [只看该作者]

这是另外一种逻辑了。这种用法不能放到textchanged事件的,需要使用按钮进行查询。先从文本框获取字符,根据逗号分隔(http://www.foxtable.com/webhelp/topics/0245.htm)为数组,然后遍历这个数组,逐个合并查询条件

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