以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 模糊查询表达式错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83251) |
-- 作者:mayazql -- 发布时间:2016/4/5 12:57:00 -- 模糊查询表达式错误 语句如下: Dim Filter As String Dim PRID As String = e.Form.Controls("PrId").value Dim PRNAME As String = e.Form.Controls("PrMName").value Dim PRMODEL As String = e.Form.Controls("PrModel").value Dim PRPRJO As String = e.Form.Controls("PrPrjno").value Dim PRUSER As String = e.Form.Controls("PrUser").value PRNAME = "\'%" & PRNAME & "%\'" PRMODEL = "\'%" & PRMODEL & "%\'" PRUSER = "\'%" & PRUSER & "%\'" Filter = "申请单号 =" & PRID & "And 物料名称 like " & PRNAME & "And 规格图号 like " & PRMODEL & "And 申请人 like " & PRUSER & "And 工程号 =" & PRPRJO DataTables("采购申请查询_table1").LoadFilter = Filter DataTables("采购申请查询_table1").Load() 错误信息如下: .NET Framework 版本:2.0.50727.8670 Foxtable 版本:2016.3.27.1 错误所在事件:加载[采购申请查询_Table1]失败! 详细错误信息: 语法错误 (操作符丢失) 在查询表达式 \'(申请单号 =PR000001And 物料名称 like \'%%\'And 规格图号 like \'%%\'And 申请人 like \'%%\'And 工程号 =)\' 中。 麻烦帮忙看下正确的语句应该怎么样写,谢谢!
|
-- 作者:大红袍 -- 发布时间:2016/4/5 15:01:00 -- Filter = "申请单号 = \'" & PRID & "\' And 物料名称 like " & PRNAME & "And 规格图号 like " & PRMODEL & "And 申请人 like " & PRUSER & "And 工程号 = \'" & PRPRJO & "\'" |
-- 作者:大红袍 -- 发布时间:2016/4/5 15:02:00 -- 如果你要做查询,用这种方式才对。
http://www.foxtable.com/help/topics/1058.htm
|
-- 作者:mayazql -- 发布时间:2016/4/6 8:48:00 -- 谢谢,主要是要模糊查询,帮助例子不能模糊查询,而且要多个参数都能模糊查询。谢谢 |
-- 作者:大红袍 -- 发布时间:2016/4/6 9:04:00 -- 以下是引用mayazql在2016/4/6 8:48:00的发言:
谢谢,主要是要模糊查询,帮助例子不能模糊查询,而且要多个参数都能模糊查询。谢谢
你把 等于 = 改成 like \'%内容%\' 就是模糊查询了。
http://www.foxtable.com/help/topics/1647.htm
|
-- 作者:mayazql -- 发布时间:2016/4/6 9:14:00 -- 谢谢,我再试下 |
-- 作者:mayazql -- 发布时间:2016/4/6 10:34:00 -- 可以了,谢谢帮助 下面是OK的代码 Dim Filter As String With e.Form.Controls("CmBPrid") If .Value IsNot Nothing Then Filter = "申请单号 = \'" & .Value & "\'" End If End With With e.Form.Controls("TBUser") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "convert(申请人, \'System.String\') like \'%" & .Value & "%\'" End If End With With e.Form.Controls("CmBProj") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "工程号 = \'" & .Value & "\'" End If End With With e.Form.Controls("TbMN") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "convert(物料名称, \'System.String\') like \'%" & .Value & "%\'" End If End With With e.Form.Controls("TBMd") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "convert(规格图号, \'System.String\') like \'%" & .Value & "%\'" End If End With If Filter > "" Then Tables("采购申请子表").Filter = Filter End If |
-- 作者:大红袍 -- 发布时间:2016/4/6 10:36:00 -- convert(规格图号, \'System.String\') 这些不用写,如果你的列是字符列,直接写列名就可以了的。 |