设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] [分享][原创]精细的用户权限管理事例,简单实用

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-5 19:17:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
引用源贴内容

++++++++++++++++++++++++++++++++++++++

以上是我自己弄得一个通用权限管理中的一段代码,这段代码使用的重复语句太多了,我看着都觉得烦,但是我改用Select case 老出错,谁有什么好办法阿?!

[em45]改好了我把源文件传上来给大家分享






可以轻松的让用户使用某一个模块,甚至只可以用主窗口而不能用子表。代码很少操作简单

只需要把新建立的窗口的Caption加入权限管理表中然后选择是否打勾就可以了

游客,如果您要查看本帖隐藏内容请回复




[此贴子已经被作者于2006-6-5 16:19:19编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-5 19:45:00 | 只看该作者
你所列的控件都具有LOCK属性的,换言之只要把没LOCK属性的排除就简单多了

    Dim ctl As Control
    For Each ctl In Me.Controls
   
       If ctl.ControlType = acLabel Then
   
           Else
              ctl.Locked = True
        End If
     Next
3#
 楼主| 发表于 2006-6-5 20:03:00 | 只看该作者
以下是引用andymark在2006-6-5 11:45:00的发言:


你所列的控件都具有LOCK属性的,换言之只要把没LOCK属性的排除就简单多了

    Dim ctl As Control
    For Each ctl In Me.Controls
   
       If ctl.ControlType = acLabel Then
   
           Else
              ctl.Locked = True
        End If
     Next

谢谢,您的意思是不是除了ControlType = acLabel 以外,其他的控件都有.Locked属性?
4#
发表于 2006-6-5 20:16:00 | 只看该作者
命令按钮,直线 等等都没有LOCK属性,这要看实际情况,采用那种方法

还有一种方法,如果你的控件都邦定数据源的,可以参考下面的例子

http://www.office-cn.net/forum.php?mod=viewthread&tid=39483&replyID=9889&skin=1
5#
 楼主| 发表于 2006-6-6 00:07:00 | 只看该作者


以下是引用andymark在2006-6-5 11:45:00的发言:



你所列的控件都具有LOCK属性的,换言之只要把没LOCK属性的排除就简单多了




谢谢,我数了一下ControlType共有19种属性,有Lock的属性的控件也大概就7种?如果用排除法那岂不是比直接选取写的代码还要多?(我希望做成通用型的,可判断窗口里面所有不固定的控件)

有没有什么办法:先判断控件有没有Locked属性,然后如果有就Lock,没有就直接Next。

以下是引用andymark在2006-6-5 12:16:00的发言:


命令按钮,直线 等等都没有LOCK属性,这要看实际情况,采用那种方法

还有一种方法,如果你的控件都邦定数据源的,可以参考下面的例子

http://www.office-cn.net/forum.php?mod=viewthread&tid=39483&replyID=9889&skin=1

我把源文件传上来了,请指点
6#
发表于 2006-6-6 04:59:00 | 只看该作者
直接用现成的安全工作组,不用编程即可搞定。
7#
发表于 2006-6-6 05:06:00 | 只看该作者
把代码改成这样,你测试一下

Public Sub SetFrm(frm As Form)
Dim TruPur As Boolean
TruPur = Nz(DLookup("[" & frm.Form.Caption & "]", "pur", "[姓名]=" & "'" & User & "' "))
If TruPur = False Then

   frm.AllowAdditions = False
   frm.AllowDeletions = False
   frm.AllowEdits = False
   
   
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Else
Exit Sub
End If
End Sub
8#
发表于 2006-6-6 05:18:00 | 只看该作者
谢谢楼主了
9#
发表于 2006-6-6 05:18:00 | 只看该作者
能问一下 什么情况下可以查看精华帖子吗?[em01]
10#
发表于 2006-6-6 15:58:00 | 只看该作者
tks!



您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 08:19 , Processed in 0.097245 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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