Foxtable(狐表)用户栏目专家坐堂 → 窗口代码报错。帮忙看一下


  共有3694人关注过本帖树形打印复制链接

主题:窗口代码报错。帮忙看一下

帅哥哟,离线,有人找我吗?
夜点蚊香
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
窗口代码报错。帮忙看一下  发帖心情 Post By: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 块变量。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
问题找到了,帮忙解决一下 10条数据以内不会出错,从11条开始报错。  发帖心情 Post By:2021/9/2 7:57:00 [只看该作者]

数据表中单个用户 可以查看的权限表超过10个 就会报错。。10个以内(包括10个)不会报错。
[此贴子已经被作者于2021/9/2 8:01:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/2 8:51:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/2 9:39:00 [只看该作者]

菜单列数据和任务栏的名称不一致
                    Dim tpb1 As WinForm.TopicBar = e.Form.Controls("菜单")
       msgbox(dr("菜单"))
        msgbox(tpb1.Pages(dr("菜单")) is nothing)
                    tpb1.Pages(dr("菜单")).Visible = Not dr("不可见")

学不会调试就上传实例


 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
  发帖心情 Post By:2021/9/2 9:43:00 [只看该作者]

实例已上传   打开导航的时候 用的是授权表
教师 用户名  cs 密码 0  不会报错
学生 用户名  xs 密码 0 会报错
[此贴子已经被作者于2021/9/2 9:43:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
实例已上传。  发帖心情 Post By:2021/9/2 10:31:00 [只看该作者]



实例已上传   打开导航的时候 用的是授权表
教师 用户名  cs 密码 0  不会报错
学生 用户名  xs 密码 0 会报错

[此贴子已经被作者于2021/9/2 14:15:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/2 11:09:00 [只看该作者]

怎么测试?使用哪个账户登录测试?

 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:641 积分:4920 威望:0 精华:0 注册:2020/4/15 19:53:00
  发帖心情 Post By:2021/9/2 11:26:00 [只看该作者]

开发者账户  密码888 登陆

然后会启动 窗口 登陆界面

教师 用户名  cs   密码  0   正常登陆   不会报错
学生 用户名 xs    密码 0   正常登陆  会报错误代码

 回到顶部
总数 12 1 2 下一页