Office中国论坛/Access中国论坛
标题:
ADP新手入门经验交流(3)
[打印本页]
作者:
eddieliu
时间:
2005-5-13 08:11
标题:
ADP新手入门经验交流(3)
今天和大家交流“权限”设置问题。
在SQL中,有完整的权限设置功能,大家可以参考相关书籍。但这样的权限设计是在数据库上的,即后端权限,而我个人认为如果在前端设置权限,而数据库是开放的话会更灵活。在MDB中,可以通过工作组来设计权限,非常方便,但ADP中没有了。所以要另外考虑。权限设计的难处在于你首先必须要清楚知道系统使用者分成多少类,一般来说,我们假设某个系统的使用者分成以下几类:
1、查阅者:此类用户可以查阅数据,但不能修改(包括增加数据,修改数据,删除数据)
2、数据输入者:除查阅者权限外,有增加数据的权限,但不能修改。
3、数据修改者:除查阅者权限外,有修改,删除数据的权限,但不能增加数据。
设计权限的思路如下:
1、我们假设一个完成的完整系统肯定已经屏蔽了数据库,即使用者是看不见“表”和“查询”,只能通过“菜单”或“面板”来打开“窗体”,“报表”等。
2、菜单也肯定是自定义的,并且屏蔽了ACCESS自身的系统菜单。
3、设计一个“用户”表,字段如下:
1)编号(唯一的KEY)
2)用户名(用户名字)
3)密码(检验用户合法)
4)权限(如果使用者分类较多的话,可以将权限单独设表,再与用户表关联)
4、设计一个登陆窗体,进入系统的时候必须先打开此窗体。
1)在窗体上设置一个下拉列表控件,数据源为“用户”表,列为表中所有字段,但显示只是用户名,设置一个输入密码控件让用户输入密码,命名为PASSWORD
2)在窗体上放置2个控件,分别命名为“密码”,“权限”,注意这两个控件是不可见的
3)在下拉列表控件的“更新后”事件中写代码,更新后让“密码”和“权限”的值等于下拉列表的XX栏
4)设置两个按钮,“确定”和“取消”
5)“确定”按钮的功能是检验“PASSWROD”和“密码”值是否相同,相同就进入系统,不相同就提示密码错误
6)“取消”按钮的功能是退出系统并提示
登陆窗口的例子很多,也很好理解,所以这里不给出代码,只是简单说明。请注意的是“确定”后,登陆窗体不要关闭,而只是隐藏,因为我们在以下权限设计中要用到的。看到这里我想大家其实都已经理解了权限设计的思路了吧。
7)当要打开某个窗体或报表的时候,在窗体和报表的“打开”事件中写入类似代码
================================================================
IF Forms![登陆窗体]![权限]=“查阅者” Then
me.AllowAdditions=False
me.AllowDeletions=False
me.AllowEdits=False
End IF
=================================================================
其他的控制也是大同小异,比如某些输入窗体,如果权限不对,你直接可以调出个对话框“对不起,你的权限不够”等等。值得注意的是:
1、如果窗体中含有子窗体,记得将子窗体的相关属性也False掉
2、如果登陆窗体没打开会出现错误,所以要多写一段代码处理一下
3、如果要再漂亮一点,可以在模块中集中写一个事件,然后在窗体中引用
这些都很简单,就留给大家创新了。
当然,这样的权限处理并不是最科学的,但胜在简单,实用,而且很好理解。够用就好了,不是吗?
作者:
xfaw
时间:
2005-5-13 18:20
提示:
作者被禁止或删除 内容自动屏蔽
作者:
丫丫
时间:
2005-5-13 19:25
唉呀呀!你这三篇文章,我看了,于我心有凄凄焉!用一句老连的话来讲,真是有一种相见恨晚的感觉!接下来还有吗?
另外,我还有个小问题打算请教。我的ADP原来只有10M左右。后来为了美观,在某一个窗体中嵌入了一张jpg图片。发现文件大小激增至近50M。赶紧删除了那图片,文件可还是那么大。问题是,我的图片也没有40M大啊!怎么搞呢?
另外,想生成ADE,却提示我:
“您无法从 我的管理系统 2000文件格式的数据库创建 我的管理系统 ADE或MDE数据库。请将其转换为 我的管理系统 的当前版本。然后创建ADE或MDE数据库。”
然而我的菜单中的“到当前ACCESS数据库版本”一项总是灰色的,不可用。实在不懂是什么意思。
拜托!
我一直用的ACCESS2003简体中文版进行开发的。
作者:
amysong
时间:
2005-5-13 21:45
大家好!上海一家猎头公司急招IT人才,SAP 系统方面多人。拜托各位推荐推荐。谢谢啦!
有兴趣请发邮件
Tel:021—58821948 宋小姐
E-mail:
amysong@echelon-cn.com
;
amy_adt@hotmail.com
;
作者:
eddieliu
时间:
2005-5-14 00:35
t丫丫
第一个问题其实很简单,压缩一下系统就行了,在工具菜单中有此选项
第二个问题:因为我没用过2003,不好说.不过从你的错误提示来看,虽然你用的是2003,但你的文件是2000格式的,生成ADE的其中一个要求是文件必须和使用的ACCESS版本一致,因此,需要将2000格式转成2003的,在2002中,工具中有转换数据数据库选项,2003不知道,如果不能转成2003,你可以试着转成2002再生成ADE试一下
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3