以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Replace查询的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178389)

--  作者:benwong2013
--  发布时间:2022/7/2 16:53:00
--  [求助]Replace查询的问题
Dim Filter As String
With e.Form.Controls("业务区域")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "convert(varchar,业务区域) like \'%" & .Value & "%\'"
    End If
If Filter > "" Then
        DataTables("OM_Client").LoadFilter = Filter & "And 业务区域 In (\'" & _BM.Replace(",", "\',\'") & "\')"
        DataTables("OM_Client").load()
End if

其中_BM是全局代码,内容类似 “福建A业务,深圳B业务”
如果被查询表中业务区域有 福建A业务,福建B业务的数据,如果我输入福建的时候,要求只能出来福建A 业务,福建B业务不显示,但数据在上面的代码的时候还是一起出来,请问如何修改;

--  作者:有点蓝
--  发布时间:2022/7/2 17:02:00
--  
msgbox(Filter & "And 业务区域 In (\'" & _BM.Replace(",", "\',\'") & "\')") 显示什么条件?
--  作者:benwong2013
--  发布时间:2022/7/2 17:14:00
--  
 convert(varchar,业务区域) like \'%福建%\' And 业务区域 In  (\'福建A业务\',\'福建B业务的数据\')

--  作者:有点蓝
--  发布时间:2022/7/2 17:27:00
--  
业务区域不是字符列?如果是没有必要convert了

这个条件很明显“福建B”也是符合的呀

--  作者:benwong2013
--  发布时间:2022/7/2 17:29:00
--  
 
 convert(varchar,业务区域) like \'%福建%\' And 业务区域 In  (\'福建A业务\',\'深圳B业务的数据\')  应该是这样

--  作者:有点蓝
--  发布时间:2022/7/2 17:42:00
--  
如果msgbox出来的是3楼的条件,说明_BM那里的数据存错了。如果是5楼的条件,“福建B”是不符合的,还是能查询到的话,应该是有其它地方的代码影响了