我有一个带有表和表单的MS Access数据库,但我希望用户只能看到表单。我不希望他们能够编辑任何数据。用户应该只能使用表单查询表。有什么建议??
答案 0 :(得分:3)
有几种方法可以对用户可以执行的操作实施某些控制。
最简单的方法是在应用程序启动时使用AutoExec
宏初始化用户界面
这样可以确保只显示您想要的表单并隐藏其他所有表单。
这种方法的一个很好的补充是编译您的应用程序并强制用户使用Access Runtime来使用您的应用程序。
在运行时中,除非您明确编写代码,否则用户无权访问所有标准工具。
要知道的是,与先前版本不同的是Access 2007 Runtime is free,这使得Access成为一个非常便宜的开发平台。
使用Access 2007,确保应用程序打开就像只安装了运行时的简单方法是将数据库的扩展名更改为.accdr
。
您还可以通过传递/runtime
command line switch来强制完整的Access安装在运行时模拟中打开普通数据库。
请注意,如果没有对数据库进行加密(但是您必须管理密码),您所能做的就是让用户难以手动打开表格。
坚定且知识渊博的用户始终可以规避这些保护措施并访问数据
如果您需要一个非常安全的解决方案,Access可能不是最佳选择:在Access中实现细粒度安全性是一个比替代方案更大的挑战,例如将数据存储到SQL Server数据库中,例如在强制执行安全性的情况下。
答案 1 :(得分:2)
答案 2 :(得分:0)
如果您使用的是Access 2003或更早版本,则可以使用用户级安全性,如上所述。如果你使用的是Access 2007,那你就不幸了 - 微软凭借他们的智慧取消了这种能力。您基本上必须编写自己的登录名并使用VBA代码设置编辑等权限。