以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何在窗体中实现多条件查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113889) |
-- 作者:top123 -- 发布时间:2018/1/24 17:47:00 -- 如何在窗体中实现多条件查询 1、用一个按钮实现所有列的查询(已实现) 2、所有列 与 另外一个条件共同查询,得出结果(未实现) 3、查询中如何使用通配符表达所有列(未实现) |
-- 作者:有点甜 -- 发布时间:2018/1/24 18:09:00 -- 你如何做的?参考 http://www.foxtable.com/webhelp/scr/1058.htm
|
-- 作者:top123 -- 发布时间:2018/1/25 14:15:00 -- Dim Filter As String With e.Form.Controls("cmbProduct") [此贴子已经被作者于2018/1/25 14:23:31编辑过]
|
-- 作者:top123 -- 发布时间:2018/1/25 14:20:00 -- Filter = "[姓名]= \'" & .Value & "\' Or [电话]= \'" & .Value & "\' Or [地区]= \'" & .Value & "" 1、在单一查询时,这句中,每个例都可以被查询到 2、在和时间合并起来查询时,只有一个例会被执行 [此贴子已经被作者于2018/1/25 14:20:06编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/1/25 15:17:00 -- 前后,加上括号
Filter = "([姓名]= \'" & .Value & "\' Or [电话]= \'" & .Value & "\')"
|
-- 作者:top123 -- 发布时间:2018/1/25 16:59:00 -- 谢谢,有点甜,已经可以实现了 另外咨询下,查询中如何使用通配符表达所有列 |
-- 作者:有点甜 -- 发布时间:2018/1/25 18:08:00 -- Filter = "([姓名] like \'%" & .Value & "%\' Or [电话] like \'%" & .Value & "%\')"
如果某列不是字符列
Filter = "([姓名] like \'%" & .Value & "%\' Or [电话] like \'%" & .Value & "%\' or convert(日期, \'System.String\') like \'%" & .value & "%\')" |
-- 作者:top123 -- 发布时间:2018/1/25 22:10:00 -- 谢谢,有点甜,已经可以实现了,厉害!!! Filter = "([姓名] like \'%" & .Value & "%\' Or [电话] like \'%" & .Value & "%\' or convert(日期, \'System.String\') like \'%" & .value & "%\')", 其中这里面的日期,只能按固定格式,能不能实现日期的多种写法
|
-- 作者:有点甜 -- 发布时间:2018/1/25 22:48:00 --
以下是引用top123在2018/1/25 22:10:00的发言:
谢谢,有点甜,已经可以实现了,厉害!!!
Filter = "([姓名] like \'%" & .Value & "%\' Or [电话] like \'%" & .Value & "%\' or convert(日期, \'System.String\') like \'%" & .value & "%\')",
其中这里面的日期,只能按固定格式,能不能实现日期的多种写法
比较麻烦,因为筛选条件是用表达式的,表达式处理日期列,要这样处理
http://www.foxtable.com/webhelp/scr/1285.htm
[此贴子已经被作者于2018/1/25 22:48:44编辑过]
|
-- 作者:top123 -- 发布时间:2018/3/4 14:46:00 -- Dim Filter As String With e.Form.Controls("cmbProduct") Filter = "([姓名] like \'%" & .Value & "%\' Or [电话] like \'%" & .Value & "%\' or convert(日期, \'System.String\') like \'%" & .value & "%\')",
Filter = End If End With With e.Form.Controls("StartDate") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "([姓名] like \'%" & .Value & "%\' Or [电话] like \'%" & .Value & "%\' or convert(日期, \'System.String\') like \'%" & .value & "%\')" End If
End With If Filter > "" Then Tables("订单表").Filter = Filter End If 这段代码,不能实现两个条件同时查询,这是什么情况 |