标题:求助老师:怎样进行筛选人员
只看楼主
ltgzk191
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-12-9
结帖率:0
 问题点数:0 回复次数:4 
求助老师:怎样进行筛选人员
求助老师:怎样进行筛选人员
我做了一个表单,怎样做到:在选择单位时按单位筛选出本单位的人员,同时在选择人员时能按所选单位的人员类别再进行筛选;或者在选择人员类别后,再选择单位,能按所选人员类别及单位进行筛选。

不知什么原因,不能所愿。
组合框combo1:interactivechange事件代码:
n=thisform.opt.value
lbhh=" "
DO CASE
    CASE n=6
     lbhh="01"
    CASE n=5
     lbhh="02"
    CASE n=4
     lbhh="03"
    CASE n=3
     lbhh="04"
    CASE n=2
     lbhh="09"
    CASE n=1
     lbhh="0"
ENDCASE
SELE RSDA  &&人员表文件
aa=
IF
  SET filt to lbh=lbhh  &&lbh为rsda表文件字段,人员类别
  COUNT TO rss FOR lbh=lbhh
else
  SET filt to bm=allt(aa).and.lbh=lbhh  &&bm为rsda表文件字段,单位
  COUNT TO rss FOR bm=allt(aa).and.lbh=lbhh
endi
GO top
thisform.refresh

单选按钮组otp的interactivechange事件:


“显示全体人员”命令click代码:
SELE RSDA
SET filt to
GO top
this.(0)
thisform.opt.value=6
thisform.refresh
望各位老师指教!!!
搜索更多相关主题的帖子: 老师 筛选 
2010-04-29 16:12
sdj_2003
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2010-3-2
得分:0 
lbhh=" "
DO CASE
    CASE thisform.opt.value
=6
     lbhh="01"
    CASE thisform.opt.value
=5
     lbhh="02"
    CASE thisform.opt.value
=4
     lbhh="03"
    CASE thisform.opt.value
=3
     lbhh="04"
    CASE thisform.opt.value
=2
     lbhh="09"
    CASE thisform.opt.value
=1
     lbhh="0"
ENDCASE
SELE RSDA  &&人员表文件
aa=
IF
  SET filt to lbh=lbhh  &&lbh为rsda表文件字段,人员类别
  COUNT TO rss FOR lbh=lbhh
else
  SET filt to bm=allt(aa).and.lbh=lbhh  &&bm为rsda表文件字段,单位
  COUNT TO rss FOR bm=allt(aa).and.lbh=lbhh
endi
GO top
thisform.refresh


把你原来interactivechange里的代码删除,上面代码的放到thisform.opt.click()和
()里
2010-04-30 09:29
ltgzk191
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-12-9
得分:0 
谢谢sdi_2003帮助!
在未选择单位时(combo1空)还行,可是,在选择某一单位的情况下,其它单位、人员类别也会显示出来,同时屏幕右上角提示“筛选器已清除”。
请高手多多指教。
2010-04-30 11:51
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:0 
IF Empty()

★★★★★为人民服务★★★★★
2010-04-30 18:50
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
得分:0 
建议在表单的 LOAD 事件中声明全局变量
PUBLIC lbhh
lbhh="0"

分别在6个 opt.option 的 Click 事件中加入以下代码
即 option1.Click 事件代码
lbhh="0"

option2.Click 事件代码
lbhh="09"

......

option6.Click 事件代码
lbhh="01"

combo1 的 InteractiveChange 事件代码
IF EMPTY(this.value)
  SET filt to lbh=lbhh
  COUNT TO rss FOR lbh=lbhh
ELSE
  SET filt to bm=allt(this.DisplayValue) and lbh=lbhh
  COUNT TO rss FOR bm=allt(this.DisplayValue) and lbh=lbhh
ENDIF
以上建议供参考
2010-05-01 10:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304859-1-1.html




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

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