设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: melanier
打印 上一主题 下一主题

[Access本身] 求助! 权限.

[复制链接]
11#
发表于 2007-12-25 10:51:35 | 只看该作者
不麻烦,用安全工作组就能完成任务。
建立一个超级用户,将数据库、所有表,查询.......的所有权。并设置所有的权限。
删除默认的用户,管理者,用户组以及管理组的所有权限。
建立用户,建立组。用户归属于相应的组,给组设置权限。
12#
 楼主| 发表于 2007-12-25 11:47:22 | 只看该作者
原帖由 hi-wzj 于 2007-12-25 10:51 发表
不麻烦,用安全工作组就能完成任务。
建立一个超级用户,将数据库、所有表,查询.......的所有权。并设置所有的权限。
删除默认的用户,管理者,用户组以及管理组的所有权限。
建立用户,建立组。用户归属于相应的 ...


那,只能读取及录入相应用户的数据,用安全向导机制也能完成吗?
13#
发表于 2007-12-25 16:58:46 | 只看该作者
可以的,您可参考我专栏中的“我的登陆”的例子。
14#
 楼主| 发表于 2007-12-26 09:48:32 | 只看该作者
原帖由 hi-wzj 于 2007-12-25 16:58 发表
可以的,您可参考我专栏中的“我的登陆”的例子。


谢谢,呵呵,我昨天就想进您的专栏来着... 但进不去,今天也是... :(
15#
 楼主| 发表于 2007-12-26 11:37:32 | 只看该作者
对了,我的数据库最后要拆分,然后局域网内共享使用的...
但我在看微软帮助时发现: -----" 如果要复制数据库,请不要使用数据库密码。如果设置了密码,复制的数据库将不能同步。"

难道不能通过安全机制设密码吗?
16#
发表于 2007-12-26 13:31:24 | 只看该作者
复杂,新手,学习中。
17#
发表于 2007-12-26 14:16:35 | 只看该作者
数据库密码和安全机制密码是两回事。拆分后设置数据库密码,再重新链接一次就行了。
18#
 楼主| 发表于 2007-12-26 16:14:31 | 只看该作者
原帖由 静儿 于 2007-12-26 14:16 发表
数据库密码和安全机制密码是两回事。拆分后设置数据库密码,再重新链接一次就行了。


谢谢:) 那我就放心了...


有没有人帮帮我啊...明年1月2日起就要开始用这个库了... 急死我了...

如果是用安全机制做的密码,如何实现销售员只能查看和编辑自己的报价单?

谢谢大家了....
19#
发表于 2007-12-26 17:24:13 | 只看该作者
呵呵,我刚做过的,当然是在各版主的帮助下完成的。
Function 权限(类型 As String) As Boolean     '类型为安全工作组中的组名称。用于查看当前用户是否归属于该组。
Dim Rs As New ADODB.Recordset
Dim Sql As String
Dim StrPath As String
StrPath = CurrentProject.Path & "\sys.mdw"  ' 同目录下的工作组文件。
Rs.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Trim(StrPath) + ";"
Sql = "SELECT DISTINCT MSysAccounts_1.Name FROM (MSysAccounts INNER JOIN MSysGroups ON MSysAccounts.SID = MSysGroups.GroupSID) INNER JOIN MSysAccounts AS MSysAccounts_1 ON MSysGroups.UserSID = MSysAccounts_1.SID WHERE (((MSysAccounts_1.Name)=CurrentUser()) AND ((MSysAccounts.Name)='" & 类型 & "'));"
Set Rs = Rs.ActiveConnection.Execute(Sql)

If Rs.EOF Then
   权限 = False
Else
   权限 = True
End If
Set Rs = Nothing
End Function

Private Sub Form_Current()  
If 权限("超级用户") = True Then'安全工作组中有一个“超级用户”组,归入该组的人有审核权。
   Me.复核.Enabled = True
   Me.经办人.Locked = False
Else
   Me.复核.Enabled = False
   Me.经办人.Locked = True
End If
End Sub

Private Sub Form_Load()
On Error Resume Next
If 权限("查看组") = False  Then    '如果该用户有归属于查看组(老大和审批人),则显示所有记录,否则就只显示自己经办的记录。
   Me.Filter = "[经办人] like '" & CurrentUser() & "*'"
   Me.FilterOn = True
End If
DoCmd.GoToRecord , , acLast
End Sub
20#
发表于 2007-12-26 17:27:44 | 只看该作者
Private Sub Form_BeforeUpdate(Cancel As Integer)  '非复核人不能修改已复核的记录。
If 权限("超级用户") = False and Me.复核 = True Then
       Cancel = True
       Me.Undo
       MsgBox "本单已复核,若要更改本记录,请联系财务部。"
       Exit Sub
End If
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-26 02:02 , Processed in 0.077875 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表