今晚抽空搞了个权限代码:
Set rstUser = OpenADORecordset("Select Sys_Users.Nickname FROM Sys_Users", adLockReadOnly)
If IsLoaded("SysFrmMain") = True Then
Me.制单人 = Forms!SysFrmMain.Nickname '该昵称在SysFrmMain窗体,所以必须让SysFrmMain窗体处于打开状态
Me.制单人.Locked = True '锁定,不允许修改
End If
'根据制单人 确定业务权限——采购员
DoCmd.RunSQL "Insert INTO TMP_权限明细表(权限名称,用户名称) Select 权限名称,用户名称 FROM 权限明细表 Where 模块名称 = '采购管理'; "
'----------------权限设定代码------
Dim strStatus As String
If DCount("权限名称", "TMP_权限明细表", "用户名称='" & Me.制单人 & "'") = 0 Then '当制单人无权限时,则功能按钮全部隐藏
Me.采购审核.Visible = False
Me.库管审核.Visible = False
Me.会计审核.Visible = False
Me.停用.Visible = False
Else
Me.结果 = DLookup("权限名称", "TMP_权限明细表", "用户名称='" & Me.制单人 & "'")
Me.汇总单号.SetFocus
strStatus = Me.结果
Select Case strStatus
Case "采购接收申购单"
Me.采购审核.Visible = True
Me.库管审核.Visible = False
Me.会计审核.Visible = False
Me.停用.Visible = False
Case "库管审核申购单"
Me.采购审核.Visible = False
Me.库管审核.Visible = True
Me.会计审核.Visible = False
Me.停用.Visible = False
Case "会计审核申购单"
Me.采购审核.Visible = False
Me.库管审核.Visible = False
Me.会计审核.Visible = True
Me.停用.Visible = True
End Select
Me.结果.Locked = True '锁定该文本框
End If
'----------------代码 结束------