以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 窗口代码报错。帮忙看一下 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=171502) |
|
-- 作者:夜点蚊香 -- 发布时间:2021/9/1 11:20:00 -- 窗口代码报错。帮忙看一下 Dim tpb As WinForm.TopicBar = e.Form.Controls("菜单") For Each page As WinForm.TopicPage In tpb.Pages page.Visible = False Next For Each dr As DataRow In DataTables("授权表").Select("用户 = \'" & _UserGroup & "\'" ) If dr.IsNull("列名") Then \'tpb.Pages(dr("菜单")).Visible = Not dr("不可见") tpb.Pages(dr("菜单")).Visible = True End If Next If _UserGroup = "超级管理员" Then For Each page2 As WinForm.TopicPage In tpb.Pages page2.Visible = True Next End If 上面的代码是权限代码 打开时根据不同的权限显示不同页面。 报错内容如下。 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2021.5.12.1 错误所在事件:窗口,导航,AfterLoad 详细错误信息: 未设置对象变量或 With 块变量。 |
|
-- 作者:有点蓝 -- 发布时间:2021/9/1 11:27:00 -- 应该是菜单列数据和任务栏的名称不是一致 For Each dr As DataRow In DataTables("授权表").Select("用户 = \'" & _UserGroup & "\'" ) If dr.IsNull("列名") Then msgbox(dr("菜单")) msgbox(tpb.Pages(dr("菜单")) is nothing) tpb.Pages(dr("菜单")).Visible = True End If Next |
|
-- 作者:夜点蚊香 -- 发布时间:2021/9/2 7:57:00 -- 问题找到了,帮忙解决一下 10条数据以内不会出错,从11条开始报错。 数据表中单个用户 可以查看的权限表超过10个 就会报错。。10个以内(包括10个)不会报错。 [此贴子已经被作者于2021/9/2 8:01:46编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2021/9/2 8:51:00 -- 代码?错误提示?http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=150626 |
|
-- 作者:夜点蚊香 -- 发布时间:2021/9/2 9:33:00 -- 报错代码 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2021.5.12.1 错误所在事件:窗口,导航,AfterLoad 详细错误信息: 未设置对象变量或 With 块变量。 事件代码 If _UserGroup <> "超级管理员" Then Dim tpb As WinForm.TopicBar = e.Form.Controls("菜单") For Each page As WinForm.TopicPage In tpb.Pages page.Visible = False Next For Each dr As DataRow In DataTables("授权表").Select("") If dr.IsNull("用户") = False Then Dim nms() As String = dr("用户").Split(",") For Each nm As String In nms If nm = _UserGroup OrElse nm = _UserName Then \'如果授权用户包括登录用户所属的分组或其用户名 Dim tpb1 As WinForm.TopicBar = e.Form.Controls("菜单") tpb1.Pages(dr("菜单")).Visible = Not dr("不可见") End If Next End If Next End If 问题 菜单列可以有超过10列的值 , 对应的用户列(相同的用户)只能填写对应10个菜单列的,如果用户列对应菜单列超过10条数据,就会报错。10条以内没有问题。 [此贴子已经被作者于2021/9/2 9:39:41编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2021/9/2 9:39:00 --
|
|
-- 作者:夜点蚊香 -- 发布时间:2021/9/2 9:43:00 -- 实例已上传 打开导航的时候 用的是授权表 教师 用户名 cs 密码 0 不会报错 学生 用户名 xs 密码 0 会报错
[此贴子已经被作者于2021/9/2 9:43:32编辑过]
|
|
-- 作者:夜点蚊香 -- 发布时间:2021/9/2 10:31:00 -- 实例已上传。 实例已上传 打开导航的时候 用的是授权表 教师 用户名 cs 密码 0 不会报错 学生 用户名 xs 密码 0 会报错 [此贴子已经被作者于2021/9/2 14:15:42编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2021/9/2 11:09:00 -- 怎么测试?使用哪个账户登录测试? |
|
-- 作者:夜点蚊香 -- 发布时间:2021/9/2 11:26:00 -- 开发者账户 密码888 登陆 然后会启动 窗口 登陆界面 教师 用户名 cs 密码 0 正常登陆 不会报错 学生 用户名 xs 密码 0 正常登陆 会报错误代码
|