设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3975|回复: 4
打印 上一主题 下一主题

ADP新手入门经验交流(3)

[复制链接]
跳转到指定楼层
1#
发表于 2005-5-13 08:11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天和大家交流“权限”设置问题。
在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、如果要再漂亮一点,可以在模块中集中写一个事件,然后在窗体中引用
这些都很简单,就留给大家创新了。
当然,这样的权限处理并不是最科学的,但胜在简单,实用,而且很好理解。够用就好了,不是吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-5-13 18:20:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
3#
发表于 2005-5-13 19:25:00 | 只看该作者
唉呀呀!你这三篇文章,我看了,于我心有凄凄焉!用一句老连的话来讲,真是有一种相见恨晚的感觉!接下来还有吗?

另外,我还有个小问题打算请教。我的ADP原来只有10M左右。后来为了美观,在某一个窗体中嵌入了一张jpg图片。发现文件大小激增至近50M。赶紧删除了那图片,文件可还是那么大。问题是,我的图片也没有40M大啊!怎么搞呢?

另外,想生成ADE,却提示我:

“您无法从 我的管理系统 2000文件格式的数据库创建 我的管理系统 ADE或MDE数据库。请将其转换为 我的管理系统 的当前版本。然后创建ADE或MDE数据库。”

然而我的菜单中的“到当前ACCESS数据库版本”一项总是灰色的,不可用。实在不懂是什么意思。

拜托!

我一直用的ACCESS2003简体中文版进行开发的。
4#
发表于 2005-5-13 21:45:00 | 只看该作者
大家好!上海一家猎头公司急招IT人才,SAP 系统方面多人。拜托各位推荐推荐。谢谢啦!



有兴趣请发邮件

Tel:021—58821948   宋小姐

E-mail: amysong@echelon-cn.com;

     

      amy_adt@hotmail.com;



5#
 楼主| 发表于 2005-5-14 00:35:00 | 只看该作者
t丫丫

第一个问题其实很简单,压缩一下系统就行了,在工具菜单中有此选项

第二个问题:因为我没用过2003,不好说.不过从你的错误提示来看,虽然你用的是2003,但你的文件是2000格式的,生成ADE的其中一个要求是文件必须和使用的ACCESS版本一致,因此,需要将2000格式转成2003的,在2002中,工具中有转换数据数据库选项,2003不知道,如果不能转成2003,你可以试着转成2002再生成ADE试一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-29 13:17 , Processed in 0.102973 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表