| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3719 人关注过本帖
标题:如何设置查询过滤条件set filter to?
只看楼主 加入收藏
koko851225
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-29
收藏
 问题点数:0 回复次数:4 
如何设置查询过滤条件set filter to?
下面是“查询”按钮的CLICK代码
select kh
EXPS=".T."
if not empty(thisform.text1.value)
   EXPS=EXPS+'and;
   "'+alltrim(thisform.text1.value)+'"$编号'
   endif
if not empty(thisform.text2.value)
   EXPS=EXPS+'and;
   "'+alltrim(thisform.text2.value)+'"$姓名'
   endif
   do case
      case thisform.optiongroup1.value=1
      EXPS=EXPS+"and 性别='男'"
      case thisform.optiongroup1.value=2
      EXPS=EXPS+"and 性别='女'"
      endcase
if not empty()
    EXPS=EXPS+'and;
     职务="'+alltrim()+'"'
   endif
if not empty()
    EXPS=EXPS+'and;
    客户类型="'+alltrim()+'"'
   endif
   if !alltrim(EXPS)==".t."
    set filter to &EXPS
    endif
      count to rec
      if rec=0
      messagebox("指定的查询条件没有选中任何客户",48,"信息提示")
      endif     
 go top
 thisform.refresh  
问题是:输入单个条件查询没问题
当输入两个以上条件查询时就提示“语法错误”指在--set filter to &EXPS
 例如输入“编号和姓名”时查询就出错
希望高手帮忙解决
搜索更多相关主题的帖子: filter set 条件 查询 
2008-11-29 11:17
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
select kh
EXPS=".T."
if not empty(thisform.text1.value)
   EXPS=EXPS+' and "'+alltrim(thisform.text1.value)+'"$编号'
endif
if not empty(thisform.text2.value)
   EXPS=EXPS+' and "'+alltrim(thisform.text2.value)+'"$姓名'
endif
do case
  case thisform.optiongroup1.value=1
    EXPS=EXPS+" and 性别='男'"
  case thisform.optiongroup1.value=2
    EXPS=EXPS+" and 性别='女'"
endcase
if not empty()
    EXPS=EXPS+' and  职务="'+alltrim()+'"'
endif
if not empty()
    EXPS=EXPS+' and 客户类型="'+alltrim()+'"'
endif
if alltrim(EXPS)==".T."
  set filter to
else
  set filter to &EXPS
endif
go top
thisform.refresh

[[it] 本帖最后由 Tiger5392 于 2008-11-29 15:27 编辑 [/it]]

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-11-29 15:11
koko851225
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-29
收藏
得分:0 
谢谢楼上的
可是还是不行呢
就是编号和姓名不能和其它条件一起输入查询
一查就出错
2008-11-29 17:00
koko851225
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-29
收藏
得分:0 
我把这改了就没问题了
if not empty(thisform.text1.value)
   EXPS=EXPS+'and;
  编号="'+alltrim(thisform.text1.value)+'"'
   endif
if not empty(thisform.text2.value)
   EXPS=EXPS+'and;
  姓名="'+alltrim(thisform.text2.value)+'"'
   endif
2008-11-29 17:04
mspanwei
Rank: 1
等 级:新手上路
威 望:1
帖 子:49
专家分:0
注 册:2010-1-5
收藏
得分:0 
学习了,谢谢讨论!
2010-01-10 19:18
快速回复:如何设置查询过滤条件set filter to?
数据加载中...
 
   



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

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