| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 504 人关注过本帖
标题:如何用一个语句达到这样的效果?
只看楼主 加入收藏
dragonmanyu2
Rank: 2
等 级:论坛游民
帖 子:36
专家分:12
注 册:2013-2-13
结帖率:33.33%
收藏
已结贴  问题点数:13 回复次数:3 
如何用一个语句达到这样的效果?
我做了个复杂条件的查询,比如有个统计部门的字段,如果用户不选部门 check1 就不做统计
如果选中的话则查看该部门是否在部门表中,在的则统计,否则不统计
我的语句如下:
if thisform.check1.value=1
           select 部门表
           loca for 部门="管理"
           if found()
          b="   ,sum(‘管理’)  "
           else
           b="  "
           endif   &&&& 这段语句能否用一句话代替?例如  iif(  该判断语句,b=",sum(‘管理’)",b="  ")
else
b="  "
endif
a="  select sum( '岗位')  "
c="   from 表  into  dbf temp "
a=a+b+c
&a

我的问题就是以上的一段判断语句能否用一句话代替,就是一句话判断是否部门表里是否存在“管理”这个字段?
搜索更多相关主题的帖子: 统计 如何 用户 
2013-04-08 09:00
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:5 
           select 部门表
           loca for 部门="管理"
           if found()
          b="   ,sum(‘管理’)  "
           else
           b="  "
           endif   &&&& 这段语句能否用一句话代替?例如  iif(  该判断语句,b=",sum(‘管理’)",b="  ")

改为:
SELECT * FROM 部门表 WHERE ALLTRIM(部门)=='管理' INTO CURSOR T
B=IIF(_TALLY>0,"   ,SUM('管理')  ","  ")


[ 本帖最后由 sdta 于 2013-4-8 09:35 编辑 ]

坚守VFP最后的阵地
2013-04-08 09:27
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:5 
你可以不用check 控件,而用 Combo 控件代替,用 "部门表" 作为这控件的数据源。
这样可以选择部门,也可以不选,当 Combo1.value 的值为空时(输入错的部门,此值也是空的),部门表 刚不存在这部门。
a="select sum(岗位),"
a=a+iif(empty(),'','sum('+allt()+'),')
a=left(a,len(a)-1)
a=a+" from 表 into dbf temp"
&a.
2013-04-08 09:43
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:5 
楼主,建议你将该表在“部门”字段上建立个索引:INDEX ON ALLTRIM(部门) TAG Dep
然后,你把缩进去的那段代码改为“B=IIF(SEEK("管理","部门表","Dep"), ..., ...)”
2013-04-08 11:51
快速回复:如何用一个语句达到这样的效果?
数据加载中...
 
   



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

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