access里如何做到限制某个账号登陆数据库后只能查询到与他账号相关的数据
我在ACCESS里做了个窗体,希望做到每个员工用自己的工号登陆后,只能查到与他工号相关的薪资情况,看不到其他员工的信息,大家教教我应该怎么设置啊?我在安全设置里没找到相关...
我在ACCESS里做了个窗体,希望做到每个员工用自己的工号登陆后,只能查到与他工号相关的薪资情况,看不到其他员工的信息,大家教教我应该怎么设置啊?我在安全设置里没找到相关的解决办法。谢谢啦
展开
2个回答
展开全部
首先应该用MS Access Workgroup Administrator程序建立自己的MDW文件,比如newSystem.mdw,然后建立一个新的帐号比如newAdmin,缺省的有AMDIN和,比如GUEST帐号,然后设置各个帐号的密码。然后以newAdmin帐号登陆,建立数据库,或者导入现有的数据库中的表或窗体等进行开发。对数据库的安全性进行设置。除了newadmin帐号,将所有的组和用户对该数据库的打开权限都屏蔽掉,其它权限也宜屏蔽掉。这样的话安全了。这样的话打开该数据库只能关联上新建的MDW文件,使用newAdmin帐号才能打开。但是实际应用时当然还应该建立一个运行软件的帐号,比如newUser,(最好不要用缺省的“用户”帐号,这样关联到SYSTEM。MDW上就可以进入,即使你设置密码也不安全,因为COPY一个新的SYSTEM。MDW一样可以关联。)将newUser帐号对各个表的权限相应的设置,能读写,不能修改设计,对窗体只能运行即可,总之它是用来运行的。屏蔽一切可以修改的权限。这样的话开发和运行就是两个帐号,但是新的问题就是如果就这样交给用户使用,那么用户就必须知道newUser帐号的密码,那样的话数据就又不安全了,所以还应该用VB或者DELPHI做个套子,最简单的写上一句,运行该数据库就行了,比如:
strRunShell = "c:\Program Files\Microsoft Office\Office\MSACCESS.EXE /nostartup"
strRunShell = strRunShell & "/wrkgrp c:\newSystem.mdw c:\pinewood.mde /user newUser /PWD yourpassword"
RetVal = Shell(strRunShell, vbMaximizedFocus)
strRunShell = "c:\Program Files\Microsoft Office\Office\MSACCESS.EXE /nostartup"
strRunShell = strRunShell & "/wrkgrp c:\newSystem.mdw c:\pinewood.mde /user newUser /PWD yourpassword"
RetVal = Shell(strRunShell, vbMaximizedFocus)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询