vb中权限设置问题
发布网友
发布时间:2023-05-17 09:05
我来回答
共3个回答
热心网友
时间:2023-09-13 10:01
在数据库中设置,建立一个Table。包含登录用户,权限的字符串,
假如有四个模块:A,B,C,D
设置这四个模块的权限,
例如 用户=‘USER1’权限的字符串=‘1111’就表示都有权限
权限的字符串=‘0111’就表示user1在A模块中没有权限
以此类推 。
至于如何设置的话:你可以在系统登录时候,根据登录的用户名称,读出权限字符串,
并以此设置画面中MENU的ENable属性。
简单的就是这样了
热心网友
时间:2023-09-13 10:02
Private Sub setMenuEnable(ByVal tmpstr As String)
Dim Mnu(3) As Menu
Set Mnu(0) = mnu表底管理
Set Mnu(1) = mnu收费管理
Set Mnu(2) = mnu票据管理
Set Mnu(3) = mnu月终处理
Set Mnu(4) = mnu历史水费
Set Mnu(5) = mnu用户档案
Set Mnu(6) = mnu用户稽查
Set Mnu(7) = mnu报表查询
Dim tmparr
Dim i, j
tmparr = Split(tmpstr, ";")
For i = 0 To UBound(Mnu)
For j = 0 To UBound(tmparr)
If InStr(1, Mnu(i).Name, Left(tmparr(j), InStr(1, tmparr(j), "=") - 1)) > 0 Then
Mnu(i).Enabled = IIf(Right(tmparr(j), Len(tmparr(j)) - InStr(tmparr(j), "=")) = "不允许", False, True)
End If
Next j
Next i
End Sub
Private Sub Form_Load()
call setMenuEnable("表底管理=不允许;收费管理=不允许")
End Sub
热心网友
时间:2023-09-13 10:02
先设置权限的初值: Public Const Group_User = 1 Public Const Group_App = 2 Public Const Group_Ck = 4 再添加(或方法) lngPower = lngPower Or GrUser.Value * Group_User 之后再判断 Public Function GetGroup(ByVal Group_Status As Long, Optional lngPower As Long, Optional pFlag As Boolean = True) As Boolean If pFlag Then lngPower = Val(UserGroup) GetGroup = CBool(lngPower And Group_Status) End Function 这样写起来好多代码呢 欢迎转载,但请保留出处,本文章转自[华软网] 原文链接: http://www.huarw.com/program/vb/vb01/200806/1594789.html