Microsoft Access 2010中的用户权限

3

我在Access 2010中有一个数据库,创建了一个导航表单,希望普通用户打开数据库时输入密码,只能访问该表单,而不能访问实际表格或导航窗格。他们只能通过我准备的表单查看、添加、编辑和删除数据,除非他们有管理员密码,否则我不希望他们能够访问表格本身。
是否有办法创建用户权限?


不支持 *.accdb 文件格式。你可以通过禁用菜单、数据库密码和编译的 (.accde) 前端等方式来防止好奇的用户干扰,但这并不能阻止有决心的篡改者。 - Fionnuala
您可能会发现这个问题非常有用。 - Gord Thompson
3个回答

1
你可以考虑使用Access中所称的ULS(用户级安全性)。这个功能已经被弃用于accDB格式文件,但是你可以在mdb格式文件和Access 2010中使用ULS。请阅读Microsoft Access Security FAQ文档并仔细理解。我还应该指出,“阻止用户查看表或设计表单”这一行为通常很少用到安全模型。安全系统是定义谁可以打开哪些表单、谁可以打开哪些表格或谁可以打开哪些报告。我想,有些重叠的目标可以通过ULS来防止用户查看代码或修改表单,但这通常不是这种安全模型的用途。要防止修改表单、代码、报告等等,则通常的方法是将Access应用程序编译成所谓的Access可执行文件(对于2007及更高版本是accDE,而之前则是mde)。
这个编译步骤可以防止用户修改常见对象,例如表单、报告和VBA代码。只需几行代码,您就可以隐藏所有Access UI,包括功能区(甚至可能构建自定义功能区)。因此,通过正确的启动设置和以下代码行:
使用这一行代码即可隐藏功能区:
DoCmd.ShowToolbar "Ribbon", acToolbarNo

生成的应用程序如下所示:

enter image description here

上面的操作只需一行代码,其余部分只是简单的启动设置。请注意,您可以在上面的屏幕截图后看到桌面,但没有访问UI。
您还可以在启动时禁用Shift键绕过。这意味着当应用程序启动时,您的表单和自定义UI将出现。用户将无法进入“后台”或切换到设计模式。
敬礼

如果能够解释如何将Access编译成可执行文件,那就太棒了。 - enderland

1

如果能够解释如何将Access编译成可执行文件,那就太好了。- enderland Sep 30 '13 at 13:38

文件 > 保存和发布 > 另存为数据库:"制作ACCDE文件"


0

使用Microsoft Access,您无法完全限制用户查看表。您仍然可以通过在应用程序顶部使用快捷菜单来绕过隐藏表单或覆盖权限的后门。访问有一些严重的限制,因为整个文件本身必须在文件夹级别具有修改权限才能打开。 您可以编译一个文件,仅阻止访问VBA代码和表单设计。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接