以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]查询窗口再问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24252) |
-- 作者:zcw728909 -- 发布时间:2012/10/9 10:16:00 -- [求助]查询窗口再问 我根据使用帮助设计了个查询窗口,前段时间在前辈的指点下把代码改成从后台查询了,但是现在有两个新问题 1.我的查询窗口有好几个查询条件,我现在只能在“版号”条件从后台查询,如果所有条件都能从后台查询,代码怎么改? 2.以前我的查询都是模糊查询,但是改为后台查询后成了精确查询了,这种情况代码怎么改? 下面是我的窗口和代码: 此主题相关图片如下:查询.jpg Dim Filter As String With e.Form.Controls("TextBH") If .Value IsNot Nothing Then Filter = "版号 like \'*" & .Value & "*\'" End If End With With e.Form.Controls("Textpm") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "品名 like \'*" & .Value & "*\'" End If End With With e.Form.Controls("Textkh") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "客户名称 like \'*" & .Value & "*\'" End If End With With e.Form.Controls("StartDate") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "接稿日期>= #" & .Value & "#" End If End With With e.Form.Controls("EndDate") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "接稿日期 <= #" & .Value & "#" End If End With If Filter > "" Then DataTables("产品信息查询表").LoadFilter ="版号 = \'" & e.Form.Controls("textbh").Value & "\'" DataTables("产品信息查询表").Load Tables("产品信息查询表").Filter = Filter End If |
-- 作者:lin_hailun -- 发布时间:2012/10/9 10:21:00 -- 如果要精确查询,这样改。 把 like 改成 = 把 * 去掉 直接写 DataTables("产品信息查询表").LoadFilter = Filter DataTables("产品信息查询表").Load() ------------------------------------------------------ 如果要模糊查询,直接写成 DataTables("产品信息查询表").LoadFilter = Filter DataTables("产品信息查询表").Load() [此贴子已经被作者于2012-10-9 10:23:33编辑过]
|
-- 作者:zcw728909 -- 发布时间:2012/10/9 10:47:00 -- 我按照你的方法把代码改后,有新的问题,只能精确查询,不能模糊查询 这是精确查询的代码: Dim Filter As String DataTables("产品信息查询表").LoadFilter = Filter 这是模糊查询的代码: Dim Filter As String DataTables("产品信息查询表").LoadFilter = Filter |
-- 作者:lin_hailun -- 发布时间:2012/10/9 10:51:00 -- [此贴子已经被作者于2012-10-9 10:59:30编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2012/10/9 10:57:00 -- LoadFilter中,通配符不是*,是%,所以代码应该是:
Dim Filter As String DataTables("产品信息查询表").LoadFilter = Filter
参考: http://www.foxtable.com/help/topics/0688.htm http://www.foxtable.com/help/topics/2401.htm
[此贴子已经被作者于2012-10-9 10:58:16编辑过]
|
-- 作者:zcw728909 -- 发布时间:2012/10/9 11:02:00 -- 哦,原来是通配符用错了谢谢狐狸爸爸和lin_hailun |