请问如何在跟据密码等级来设置过滤记录?哪位高手能帮我...(100分)

  • 主题发起人 主题发起人 filter
  • 开始时间 开始时间
F

filter

Unregistered / Unconfirmed
GUEST, unregistred user!
我用DELPHI设计一个表单管理程序,表单放在NT网上,要经多个部门审核
(不同的工作站).每经一个部门审核,都会在'text1'字段上加以标记.现在
的问题是,我想对每个部门实现按口令过滤,让每个部门只能看到BZ字段中的
与之对应的记录,其它记录封锁.但我现在只能做到通过一个BUTTON来设,每
个部门要看到它当前要处理的工作,只有按一下BUTTON键.但其它部门的所有
记录都能看见.不知道如何解决这个问题.(BUTTON放在MAIN FROM上才有
效,密码等级FROM放在MAINFROM的ON SHOW事件中,我只能在MAIN FROM上放
这段代码,在其它FROM和ONFILTERRECORD中放都会死机,报PROJECT1.EXE错
误,我估计是MAIN.TABLE1未打开所致,但我左调右调上调下调都搞不好,谁能
帮助我解决这个问题呢?
procedure Tmain.Button6Click(Sender: TObject);
var
s:string;
begin
table1.filtered:=false;
main.table1.open;
case strtoint(pass.ch) of //PASS,.CH为密码等级
1:begin
s:='text1=''null''or text1=''ybcmz''';
table1.filter:= s;
end;
4:begin
s:='text1=''y''or text1=''ybcmz''';
table1.filter:= s;
end;
2:begin
s:='text1=''yb''or text1=''ybcmz''';
table1.filter:= s;
end;
3:begin
s:='text1=''ybc''or text1=''ybcmz''';
table1.filter:= s;
end;
5:begin
s:='text1=''ybcm''or text1=''ybcmz''';
table1.filter:= s;
end;
end;
table1.filtered:=true;
table1.filter:=s;
end;

 
另开一数据模块,将表移入其中,口令窗口以封面显示出来(用模态 Showmodal)
因为我做过同样工作,只不过我是根据不同用户开启不同的主窗口而已。
该给分了吧!
 
不好意思!如需代码,请Email seawin@bentium.net
 
我喜欢用Query,用select 语句,直接生成记录到内存表中(rxlib).
 
我在PASS.FORM上加上一个MAIR的数据源就搞定了,感谢两位相助.
不好意思,又请教一个新问题
请问如何过滤'部门名称=纺织部'和 ('提交=NULL' 或 '提交=Y')的记录,我写来写去都只能满足这三个条件中的两个.请问我该如何写呢?哪位高手相助,在下这里先谢过了...
 
用:
('部门名称=纺织部' and '提交=NULL') 或('部门名称=纺织部 and '提交=Y')
试一下,应该可以搞定!
 
多人接受答案了。
 
后退
顶部