以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于多字段查询数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104190)

--  作者:裴保民
--  发布时间:2017/7/25 10:01:00
--  关于多字段查询数据
怎样根据一个查询条件来精确查询和模糊查询多字段中是否符合查询条件的数据呢?
--  作者:有点甜
--  发布时间:2017/7/25 11:00:00
--  

精确查询

 

Dim str As String = "1,2,3,4,5"

Tables("表a").filter = "编号 in (\'" & str.replace(",", "\',\'") & "\')"

 

模糊查询

 

Dim str As String = "1,2,3,4,5"
Dim filter As String = "1=2"
For Each s As String In str.split(",")
    filter &= " or 编号 like \'%" & s & "%\'"
Next
msgbox(filter)
Tables("表a").filter = filter


--  作者:裴保民
--  发布时间:2017/7/25 12:14:00
--  
不好意思是我表达不清,是这样的假如一个客户有三个字段都是存放电话号码的一个客户有几个电话不一定,电话存放的字段也不一定,我是想根据窗体文本框输入的条件和单选框选择与否来执行模糊查找或者精确查找数据库中存放电话的三个字段中只要其中一个字段符合条件的数据就将改数据显示出来
--  作者:有点甜
--  发布时间:2017/7/25 12:32:00
--  

Dim str As String = "138xxxxxxxx"

Tables("表A").filter = "iif(第一列 is null, \'\', 第一列) Like \'%" & str & "%\' or iif(第二列 is null, \'\', 第二列) Like \'%" & str & "%\' or iif(第三列 is null, \'\', 第三列) Like \'%" & str & "%\' " 

[此贴子已经被作者于2017/7/25 17:25:56编辑过]

--  作者:裴保民
--  发布时间:2017/7/25 15:20:00
--  
or 第三列 is null执行的是什么加上他什么也查不出来
--  作者:有点甜
--  发布时间:2017/7/25 17:26:00
--  

代码有问题,要改改

 

Dim str As String = "23"

Tables("表A").filter = "iif(第一列 is null, \'\', 第一列) Like \'%" & str & "%\' or iif(第二列 is null, \'\', 第二列) Like \'%" & str & "%\' or iif(第三列 is null, \'\', 第三列) Like \'%" & str & "%\' "