Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 将对数据库的访问限制为少数用户。(MS Access 2007)_Ms Access_Ms Access 2007 - Fatal编程技术网

Ms access 将对数据库的访问限制为少数用户。(MS Access 2007)

Ms access 将对数据库的访问限制为少数用户。(MS Access 2007),ms-access,ms-access-2007,Ms Access,Ms Access 2007,如果有人能帮我,我将不胜感激 我是新手,我的老板给了我一个项目,为我们的团队创建一个工具(我在保险公司工作)。我已经完成了项目的大部分工作,但我的老板希望数据库的编辑和更新仅限于我们团队的少数成员(是的,不止一个人可以修改),但由于该工具用于广泛的用途,她希望该部门的其他人(50多人)也能这样做只能访问某些表单,这些表单具有执行此任务的按钮等 到目前为止,在这个数据库中,我有3个链接表(包含所有数据)、查询、报告、联合查询和生成表以及3个表单。我希望大多数人只查看表单并仅在表单视图中使用它,但是

如果有人能帮我,我将不胜感激

我是新手,我的老板给了我一个项目,为我们的团队创建一个工具(我在保险公司工作)。我已经完成了项目的大部分工作,但我的老板希望数据库的编辑和更新仅限于我们团队的少数成员(是的,不止一个人可以修改),但由于该工具用于广泛的用途,她希望该部门的其他人(50多人)也能这样做只能访问某些表单,这些表单具有执行此任务的按钮等

到目前为止,在这个数据库中,我有3个链接表(包含所有数据)、查询、报告、联合查询和生成表以及3个表单。我希望大多数人只查看表单并仅在表单视图中使用它,但是我的团队的4名成员可以做任何他们想做的事情,因为他们需要不断编辑数据


有人对我应该从哪里开始有什么建议吗?编程不是我的拿手好戏,所以我真的很想得到一些参考资料或任何帮助

如果单击“文件”,然后单击“选项”,然后选择“当前数据库”,则可以在每次打开access数据库时强制弹出特定表单。此外,还可以取消用户浏览整个数据库内容的能力。您还可以删除导航栏和菜单等。我这样做已经有一段时间了,所以这里有一些建议。拥有一个主菜单窗体,该窗体在access文件中的每个窗体上都有一个按钮。当用户打开数据库时,他或她应该会看到主菜单表单。从那里,他们可以点击按钮,将导致他们的形式,将解决他们的需求


Stackoverflow不会让我发表评论,所以下面是我要说的。对于那些您想要访问它的人,您可以让他们在打开数据库时按住shift键。如果他们这样做,他们会像打开数据库的“管理员”一样打开数据库。如果按住shift键,他们可以按自己的意愿对其进行编辑。

我通过一个表格完成了这项工作,为用户分配了特定的“安全级别”,并通过登录屏幕检查了他们的安全级别。然后,我隐藏登录屏幕(而不是关闭它),以便在表单打开时,它可以对用户的安全级别进行DLookup,然后确定用户是否具有对表单的读、写或读/写访问权限。我还可以基于相同的逻辑隐藏表单上的按钮


从2007年开始,Access删除了他们的本机安全性,但无论如何这都是非常低效的。

我正在使用Access 2007!但我的想法和你提到的一样。我创建了一个包含用户名和密码的表,以及一个名为“IsAdmin”的是/否字段。使用DLookup,我可以确定一个人是否是管理员,从而为他们分配访问权限。然而,我在为这个编写代码时遇到了困难。在登录按钮中添加以下内容对我没有帮助。AllowEdits=DLookup(“IsAdmin”、“RATusers”、“UserID]=”&Me.cboUser.Value)有什么想法吗?应该可以。您是否已检查以确保Me.cboUser.Value返回您期望的值?另一个选项是尝试If/Then/Else,比如:xxAdmin=DLookup(“IsAdmin”、“RATusers”、“UserID=”&Me.cboUser.Value)。然后执行If/Then/Else,比如:If xxAdmin=-1 Then Me.AllowEdits=True Else Me.AllowEdits=False EndIf。当我这样做时,我实际上将所有对象的Enabled属性设置为True或False,但这两个选项都是可行的。我如何检查?我知道它是有效的,因为cboUser是登录屏幕上的组合框,我能够使用下拉菜单正确登录。我应该在login命令按钮中使用IF语句,其中代码还检查有效的用户名/pw组合,还是应该在登录表单的事件处理程序中输入该语句?例如表单_Current()如果xxAdmin?在代码中插入一个断点,然后将鼠标悬停在显示Me.cboUser.Value的片段上,然后查看弹出的内容。或者,您可以在代码中放置一个messagebox,其中只有Me.cboUser.value的值,这将告诉您它认为它是什么。至于它去哪里,我猜它会出现在每个表单的加载事件中?如何将代码粘贴到这里?我想这可能有助于你看到它?但这不会为每个人隐藏它吗?我不希望有几个人能像我一样进入。p、 使用这种方法,用户难道不能重复您提到的步骤并取消隐藏等所有内容吗?这是否回答了您的问题?您是否需要一种安全策略,以防止未经授权的用户更改存储的数据,并且即使是一个有决心的老练用户也无法回避?或者你能满足于某种形式的安全,让这样的用户不方便做你不想让他们做的事情吗?我不得不说是前者。我只希望少数(3-4)用户拥有类似管理员的权限-让他们做任何他们想做的事情。但对于其余部分,我只希望他们登录,然后将他们带到我为他们设置的表单,并通过表单上的按钮运行查询/报告。我不希望他们看到和/或编辑表格等。然后,您必须使用db引擎来强制执行该级别的安全性。您在应用程序级别实施的安全措施(VBA、表单属性等)都可能很容易失败。我该怎么做?如果您想继续使用Access进行数据存储,请使用MDB保存数据。然后,您可以设置ULS(用户级安全性)以向用户组授予适当的权限。MS从ACCDB数据库格式中删除了ULS支持,但Access版本>=2007仍可以使用MDB格式,该格式继续支持ULS。