实现用户权限的添加及删除:一个窗体有3个listbox;3个ACCESS表 表1:用户名表;表2:用户所具有的权限表;表3:总的权限表(如有“系统管理员”和“普通人员”两个)
listbox1:显示当前数据库中的用户名 如有admin和guest两个用户。
listbox2:当在listbox1中单击某个用户名时,显示该用户现在所具有的权限列表
如点admin后,listbox2显示“系统管理员”(admin当前所具有的权限)。
listbox3:当在listbox1中单击某个用户名时,把表2与表3比较(前提是用户名等于在listbox1中
被点中的用户),显示表3中某用户没有的权限。如:
如点admin后,listbox3显示“普通人员”。
请问应该怎么写程序,数据表结构应该是怎么样的呢??
我使用select * from 表2 where 表2字段 not in (select 表3的字段 from 表3) 好像得不到想要的结果。
55555555555555555求解
listbox1:显示当前数据库中的用户名 如有admin和guest两个用户。
listbox2:当在listbox1中单击某个用户名时,显示该用户现在所具有的权限列表
如点admin后,listbox2显示“系统管理员”(admin当前所具有的权限)。
listbox3:当在listbox1中单击某个用户名时,把表2与表3比较(前提是用户名等于在listbox1中
被点中的用户),显示表3中某用户没有的权限。如:
如点admin后,listbox3显示“普通人员”。
请问应该怎么写程序,数据表结构应该是怎么样的呢??
我使用select * from 表2 where 表2字段 not in (select 表3的字段 from 表3) 好像得不到想要的结果。
55555555555555555求解
比方说listbox1.onclick里写
ADOQuery2.filtered := false;
ADOQuery2.filter := 'userid='+ intToStr(ADOQuery1.FieldbyName('userid').AsInteger);
ADOQuery2.filtered := true;
* admin * *系统管理员* *普通人员 *
* *-----listbox1 * *----listbox2 * *----listbox3
* * * * * *
********* ************ ************点了"admin"后 listbox2,listbox3显示如上
表结构上贴也说了 求解
你怎么设计的表结构?要实现上述功能需要将表关联起来才行。
按照我的设想,可以只要两个表,一个用户表,一个权限表。
用户表:ID(KEY),USERNAME,QX_ID
权限表:ID(KEY),QX_NAME
你在用户表里将用户绑上权限的ID,这样就方便查了。