以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  查询异常  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123105)

--  作者:cjl333333333
--  发布时间:2018/8/8 0:21:00
--  查询异常
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("物料明细")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "物料类型 Like " & txt & " Or  物料名称 Like " & txt & " Or 规格长 Like " & txt & " Or 材质名称 Like " & txt & " Or 规格宽 Like " & txt
End If
象这个代码,是不是字符串与数字不能一起被查询,象这样里面查询即有字符串也有数字的查询是不能完成的,总会出错。但我之前也有用过这种情况也是不会产生错误的,所以特别不解?求解。

--  作者:有点甜
--  发布时间:2018/8/8 10:06:00
--  

数值列、日期列,参考红色代码

 

tbl.Filter = "物料类型 Like " & txt & " Or  物料名称 Like " & txt & " Or 规格长 Like " & txt & " Or 材质名称 Like " & txt & " Or convert(规格宽,\'System.String\') Like " & txt


--  作者:cjl333333333
--  发布时间:2018/8/8 11:46:00
--  
执行后出现错误信息
--  作者:有点甜
--  发布时间:2018/8/8 11:47:00
--  
以下是引用cjl333333333在2018/8/8 11:46:00的发言:
执行后出现错误信息

 

1、你哪些列是数值列?

 

2、贴出你写的代码。


--  作者:cjl333333333
--  发布时间:2018/8/12 20:17:00
--  
 tbl.Filter =  "物料类型 Like " & txt & " Or  物料名称 Like " & txt & " Or 材质名称 Like " & txt &“ OR convert(规格长,\'System.String\') Like " & txt & " Or convert(规格宽,\'System.String\') Like " & txt & " Or convert(厚度,\'System.String\') Like " & txt


--  作者:有点甜
--  发布时间:2018/8/12 20:32:00
--  
回复5楼,代码没问题。报什么错?
--  作者:cjl333333333
--  发布时间:2018/8/15 12:35:00
--  
类型 厚度 不是已定义的系统类型。
类型 规格宽 不是已定义的系统类型。
类型 规格长 不是已定义的系统类型

--  作者:有点甜
--  发布时间:2018/8/15 14:28:00
--  

1、msgbox(txt)弹出什么?

 

2、代码没问题的,具体做个实例发上来测试。