以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- LoadFilter不能和like组成模糊查询吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=29959) |
||||
-- 作者:客家阿哥 -- 发布时间:2013/3/18 1:50:00 -- LoadFilter不能和like组成模糊查询吗? Dim txt As String = e.Form.Controls("sxtxt").Text If txt ="" Then MessageBox.Show("填入查询条件") e.Form.Controls("sxtxt").Select Else txt = "\'*" & txt & "*\'" DataTables("商品明细").LoadFilter = "" DataTables("商品明细").Load() \'Tables("商品明细").Filter = "商品条形码 Like " & txt &" Or 商品编码 Like " & txt &" Or 商品名称 Like " & txt & " Or 商品简称 Like " & txt &" Or 商品规格 Like " & txt &" Or 备注 Like " & txt ------------------------------------ 改成下面,提示至少一个参数没有被指定值。 ------------------------------------- Dim txt As String = e.Form.Controls("sxtxt").Text If txt ="" Then MessageBox.Show("填入查询条件") e.Form.Controls("sxtxt").Select Else txt = "\'*" & txt & "*\'" DataTables("商品明细").LoadFilter = "" Dim fl As String fl= "商品条形码 Like " & txt &" Or 商品编码 Like " & txt & " Or 商品名称 Like " & txt & " Or 商品简称 Like " & txt & " Or 商品规格 Like " & txt & " Or 备注 Like " & txt DataTables("商品明细").LoadFilter=fl MessageBox.Show(fl) DataTables("商品明细").Load() |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/3/18 8:07:00 -- 可以的:
1、注意只有字符列才可以使用Like 2、如果是SQL Server的数据源,通配符有符号*改为符号% 3、可以用Messagebox.show或output.show显示一下合成的条件表达式。 [此贴子已经被作者于2013-3-18 8:09:23编辑过]
|
||||
-- 作者:客家阿哥 -- 发布时间:2013/3/18 10:12:00 -- 我改了也一样的。我用的是access2007数据库
此主题相关图片如下:未命名.jpg 此主题相关图片如下:未命名2.jpg 此主题相关图片如下:未命名3.jpg |
||||
-- 作者:客家阿哥 -- 发布时间:2013/3/18 10:50:00 -- 查到原因了,原来是数据类型字符型的字段是表达式
为什么用Tables().Filter 又不会出错?????????? |
||||
-- 作者:客家阿哥 -- 发布时间:2013/3/18 11:25:00 -- 为什么有表达式就不可以?怎么改进?
|
||||
-- 作者:客家阿哥 -- 发布时间:2013/3/18 12:21:00 -- 我刚才想了一下,也明白了;现在终于知道datatable和table的区别了 |