以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  LoadFilter不能和like组成模糊查询吗?  (http://www.foxtable.com/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
--  

查到原因了,原来是数据类型字符型的字段是表达式

 


图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看

 

为什么用Tables().Filter 又不会出错??????????


--  作者:客家阿哥
--  发布时间:2013/3/18 11:25:00
--  

为什么有表达式就不可以?怎么改进?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:客家阿哥
--  发布时间:2013/3/18 12:21:00
--  
我刚才想了一下,也明白了;现在终于知道datatable和table的区别了