注册 登录
编程论坛 VB6论坛

vb程序中怎么设置有些菜单项为普通用户不可用状态

木合塔尔 发布于 2017-03-27 23:12, 7007 次点击
管理员与普通用户进入同一个界面以后怎么设置部分菜单项为普通用户不可用状态?很急!求大神帮忙!
12 回复
#2
xzlxzlxzl2017-03-28 08:44
设置很简单,就是“窗体名.菜单名.enabled=false/true”,为false时不可用,true时可用。
你最重要的是如何规划数据库中管理员表的功能数据结构。
#3
xiangyue05102017-03-28 08:49
同上
#4
木合塔尔2017-03-28 10:16
可我的管理员与普通用户都在一个表里,都进入同一个主界面,按你说的做了可后来不管是管理员或者普通用户都不可用,不知道哪里出错啦?我是新手,刚开始学的希望楼上的给我详细的说一下怎么做!
#5
木合塔尔2017-03-28 10:17
回复 楼主 木合塔尔
可我的管理员与普通用户都在一个表里,都进入同一个主界面,按你说的做了可后来不管是管理员或者普通用户都不可用,不知道哪里出错啦?我是新手,刚开始学的希望高手的给我详细的说一下怎么做!
#6
chen35232017-03-28 15:47
增加判断:
当管理员进入时“窗体名.菜单名.enabled=true”
否则“窗体名.菜单名.enabled=false”
#7
xiangyue05102017-03-28 16:39
回复 5楼 木合塔尔
这种情况,你需要将权限(等级)存在一个变量中,或者放在窗体上(如状态栏上)。再判断去设置是否菜单可用。
编程要用脑子,别人都告诉你代码了,多拐一个弯都不行?
#8
风吹过b2017-03-28 17:34
我以前是弄一张表,保存各个功能需要的的权限等级。如果权限不是高级用户直接拥有低级用户的权限,那这个表中需求指定每个功能的具体权限编号。
每个功能运行时,先查表自己的权限需求,如果没查到,就把写入记录,并且设为最高级。
用户分等级,保存在用户表中。
运行时,根据用户权限编号进行判断。
#9
ZHRXJR2017-03-28 20:45
其实这个问题特别简单,在设计登录信息时增加一个权限字段,可以是文本字段,也可以是数字字段。
管理员的权限设置为“全部”或“管理员”或数字 1 ,用户的权限设置为“限制”或“用户”或数字 0
增加一个模块,在模块中设置一个全局变量,例如 QX 变量,与权限字段的数据类型一样
在登录界面登录成功后,将权限赋值给变量 QX ,这样这个权限在整个系统就可以调用了
在包含菜单的界面,调用变量 QX ,然后判断,根据权限使那个菜单变灰或不可见
程序代码:
If QX = "管理员" Then
菜单名.Enabled = True  '或 菜单名.Visible = True
Else
菜单名.Enabled = False '或 菜单名.Visible = False
End If
#10
木合塔尔2017-03-31 22:18
我都按你说的做啦,可是,为什么启动程序以后如果第一个登陆的是管理员第二个登陆的是普通用户的都能使用那些不可用按钮,如果第一个登陆的是普通用户的话都不能使用,这怎么回事啊?本人菜鸟一只,而且是第一次做求各位大神帮帮我解释一下!
#11
木合塔尔2017-03-31 22:21
回复 9楼 ZHRXJR
我都按你说的做啦,可是,为什么启动程序以后如果第一个登陆的是管理员第二个登陆的是普通用户的话都能使用那些不可用菜单项,如果第一个登陆的是普通用户的话都不能使用,这怎么回事啊?本人菜鸟一只,而且是第一次做求各位大神帮帮我解释一下!
#12
leziyi2018-10-28 08:29
楼主可以新建一个布尔变量,当管理员第一个登录时,将变量的值设为True;当普通用户第一个登录时,将变量的值设为False.以后登录时,检测布尔变量的状态,如为False,禁用菜单,否则,启用菜单
#13
liuxiaoyu1232019-11-28 16:06
回复 2楼 xzlxzlxzl
大佬就是大佬,感谢大佬
1