我在SharePoint上有一个Access数据库,并且必须使用两个用户角色:
管理此最佳实践是什么?我考虑过以下两种解决方案,但可能还有第三个更好的解决方案。
解决方案#1
有2个不同的Access文件链接到同一个DB:一个具有所有形式(我给Role1的文件)和一个具有唯一形式(我给Role2的文件)。
解决方案2
只有一个我提供给两个用户的Access文件。 Role1具有对所有表单的读/写访问权限。 Role2只能看到特定的表单,而不能对其他表单进行读/写访问。
答案 0 :(得分:1)
我建议使用解决方案#2 ,否则,如果您更改前端的逻辑,则必须始终对其进行两次更改,这确实很烦人。另外,如果您忘记同时更改两个版本,并且在逻辑上有很大的更改,那么您将需要使用旧版本的人员和使用新版本的人员。
我通常做的是以下操作。我有一个表格tblDeveloperAccess
和您的角色1 的ID
。在第一个表单加载事件开始时,我有以下代码:
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tbDeveloperAccess", dbOpenSnapshot)
rs.FindFirst "ID = '" & Environ("USERNAME") & "'"
If rs.NoMatch Then
DoCmd.NavigateTo "acNavigationCategoryObjectType", "acNavigationGroupTables"
DoCmd.SelectObject acForm, vbNullString, True
DoCmd.RunCommand acCmdWindowHide
DoCmd.ShowToolbar "Ribbon", acToolbarNo
End If
基本上,我隐藏了功能区和对象导航。您甚至可以走得更远,并禁用上下文菜单和“ Shift + DblClick”技巧(在数据库文件上)。当然,我禁用了启动表单上的功能以进入设计视图。