| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 865 人关注过本帖, 1 人收藏
标题:请教。如何把模糊查询改成精确查询
只看楼主 加入收藏
imfirst
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-5-25
结帖率:0
收藏(1)
 问题点数:0 回复次数:5 
请教。如何把模糊查询改成精确查询

*——收集查询条件
SearchFilter=".T."
IF NOT EMPTY(ALLTRIM(THISFORM.txt商品编号.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt商品编号.Value) + "' $ 商品编号"
ENDIF
IF NOT EMPTY(THISFORM.txt商品名称.Value)
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt商品名称.Value) + "' $ 商品名称"
ENDIF
IF NOT EMPTY(ALLTRIM(THISFORM.txt进货车牌.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt进货车牌.Value) + "' $ 进货车牌"
ENDIF
IF NOT EMPTY(ALLTRIM(THISFORM.txt经手人.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt经手人.Value) + "' $ 经手人"
ENDIF
IF NOT EMPTY(ALLTRIM(THISFORM.txt接收人.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt接收人.Value) + "' $ 接收人"
ENDIF
IF NOT EMPTY(THISFORM.txt出货日期.Value)
    nYear=YEAR(THISFORM.txt出货日期.Value)
    nMonth=MONTH(THISFORM.txt出货日期.Value)
    nDay=DAY(THISFORM.txt出货日期.Value)
    sDate=ALLTRIM(STR(nYear))+"/"+ALLTRIM(STR(nMonth))+"/"+ALLTRIM(STR(nDay))
   SearchFilter=SearchFilter + "AND TTOD(出货时间)={^"+sDate +"}"
ENDIF
*——设置过滤条件
SELECT OutView
SET FILTER TO
SET FILTER TO &SearchFilter
*——刷新表单
THISFORM.Refresh
要是改成精确匹配查询,应该怎么修改,我试过直接把$改成==后,什么查询结果都出不来。。。。
搜索更多相关主题的帖子: 模糊 查询 
2010-05-14 15:19
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
set exact on

2010-05-14 15:38
imfirst
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-5-25
收藏
得分:0 
以下是引用baichuan在2010-5-14 15:38:30的发言:

set exact on
试过,还是没用。。。。。。
2010-05-14 16:13
imfirst
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-5-25
收藏
得分:0 
就是如果查询条件为“2'话,那么那些123 2323凡是有"2"的都出来了。

 我要的是精确的,单单结果是“2”的出来。
2010-05-14 16:15
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
收藏
得分:0 
以下是引用imfirst在2010-5-14 15:19:02的发言:


*——收集查询条件
SearchFilter=".T."
IF NOT EMPTY(ALLTRIM(THISFORM.txt商品编号.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt商品编号.Value) + "' $ 商品编号"
ENDIF
IF NOT EMPTY(THISFORM.txt商品名称.Value)
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt商品名称.Value) + "' $ 商品名称"
ENDIF
IF NOT EMPTY(ALLTRIM(THISFORM.txt进货车牌.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt进货车牌.Value) + "' $ 进货车牌"
ENDIF
IF NOT EMPTY(ALLTRIM(THISFORM.txt经手人.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt经手人.Value) + "' $ 经手人"
ENDIF
IF NOT EMPTY(ALLTRIM(THISFORM.txt接收人.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt接收人.Value) + "' $ 接收人"
ENDIF
IF NOT EMPTY(THISFORM.txt出货日期.Value)
    nYear=YEAR(THISFORM.txt出货日期.Value)
    nMonth=MONTH(THISFORM.txt出货日期.Value)
    nDay=DAY(THISFORM.txt出货日期.Value)
    sDate=ALLTRIM(STR(nYear))+"/"+ALLTRIM(STR(nMonth))+"/"+ALLTRIM(STR(nDay))
   SearchFilter=SearchFilter + "AND TTOD(出货时间)={^"+sDate +"}"
ENDIF
*——设置过滤条件
SELECT OutView
SET FILTER TO
SET FILTER TO &SearchFilter
*——刷新表单
THISFORM.Refresh
要是改成精确匹配查询,应该怎么修改,我试过直接把$改成==后,什么查询结果都出不来。。。。

精确查询用"=="时, 字段值加上allt(), 如:

IF NOT EMPTY(ALLTRIM(THISFORM.txt商品编号.Value))
   SearchFilter=SearchFilter +  " AND '" + ALLTRIM(THISFORM.txt商品编号.Value) + "' ==allt(商品编号)"
ENDIF

2010-05-14 16:40
imfirst
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-5-25
收藏
得分:0 
太感谢版主了,问题已经解决。。。。
2010-05-17 08:42
快速回复:请教。如何把模糊查询改成精确查询
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018107 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved