以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  从后台数据表中查询  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50096)

--  作者:xiaohuli
--  发布时间:2014/4/29 11:29:00
--  从后台数据表中查询
从后台数据表中如何进行模糊查询。
--  作者:Bin
--  发布时间:2014/4/29 11:30:00
--  
DatatableS("表A").LoadFilter="第一列 like \'%abc%\'"
DatatableS("表A").Load

--  作者:xiaohuli
--  发布时间:2014/4/29 11:34:00
--  
Tables("固定资产查询窗口_Table1").Fill("Select * from {gdzc} where 类型 =\'"&  e.Form.Controls("TextBox1").text & "\'or 名称 =\'"&  e.Form.Controls("TextBox1").text & "\'or 部门1 =\'"&  e.Form.Controls("TextBox1").text & "\' or 部门2 =\'"&  e.Form.Controls("TextBox1").text & "\' or 使用部门 =\'"&  e.Form.Controls("TextBox1").text & "\' or 使用人员 =\'"&  e.Form.Controls("TextBox1").text & "\'or 目前状态 =\'"&  e.Form.Controls("TextBox1").text & "\'","gdzc",False),原先是这样查询的,但查询的时候只能全部输入内容后才能查询出来,不能进行模糊查询,如何将如上代码改为模糊查询。上面那些控件名称里的值都是从后台数据库中取到到。
--  作者:Bin
--  发布时间:2014/4/29 11:39:00
--  
=  等于  改为  like 和模糊筛选类似 参考帮助http://www.foxtable.com/help/topics/1534.htm
--  作者:xiaohuli
--  发布时间:2014/4/29 11:48:00
--  

我不是从一个现有表里进行模糊查询,而是从后台数据表中进行模糊查询,这样怎么实现呀。


--  作者:Bin
--  发布时间:2014/4/29 11:50:00
--  
请看2楼,结合4楼回复
--  作者:有点甜
--  发布时间:2014/4/29 12:06:00
--  
 = \'abc\' 改成 like \'%abc%\'
--  作者:狐狸爸爸
--  发布时间:2014/4/29 12:07:00
--  

楼主你要理解,不管是查询现有的表,还是从后台筛选,都是合成条件表达式,不同的只是最后的代码。

 

一个是:

 

Tables("xxx").Filter = 合成的条件表达式

 

一个是:

 

DataTables("xxx").LoadFilter = 合成的条件表达式
DataTables("xxx").Load()

 

 

另外不要滥用Fill,看看帮助说的:

 

请不要滥用Fill

 

通过Fill生成的Table,在打开窗口后,如果需要从同一个表加载其它数据进来,请采用LoadFilter和Load,切不可再用Fill(除非需要从另一个表加载数据), 因为Fill会重新生成DataTable和Table,不仅效率低,还会导致设置好的绑定失效。

例如窗口中有个“最近七天”按钮,希望单击此按钮,加载最近七天的订单,可以将按钮的代码设置为:

Dim dt As Date = Date.Today.AddDays(-7)
DataTables
("订单").LoadFilter = "日期 > #" & dt & "#"
DataTables
("订单").Load()

总之, 只有需要从不同的表中加载数据时,使用Fill方法,如果从同一个表中加载数据,应该使用LoadFilter和Load。

 


--  作者:xiaohuli
--  发布时间:2014/4/29 12:51:00
--  
狐爸,出现这种情况是怎么回事?
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140429124909.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2014/4/29 14:14:00
--  
用MessageBox.show显示一下自己合成的条件,看看是什么。