Foxtable(狐表)用户栏目专家坐堂 → [求助]导航可不可见问题


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

主题:[求助]导航可不可见问题

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


加好友 发短信
等级:幼狐 帖子:121 积分:1097 威望:0 精华:0 注册:2019/12/27 20:56:00
[求助]导航可不可见问题  发帖心情 Post By:2021/11/19 15:15:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

想用导航表生成导航,符合可不可见列的用户组才显示,在启动未将对象引用设置到对象的实例。,问一下老师,我的代码有什么问题吗

'生成编译函数nav
Dim code As String 
code= " dim name as string = args(0) " & vbcrlf 
code= code & " Select Case name " & vbcrlf 

Dim roles() As String = _userGroup.Split(",") 
For Each role As String In roles 
    Dim drs As List(Of DataRow) = DataTables("导航").Select("可不可见 = '" & role & "' or 可不可见 like '" & role & ",*' or 可不可见 like '*," & role & ",*' Or 可不可见 like '*," & role & "'") 
    For Each dr As DataRow In drs 

        If dr("代码")> ""  Then 
            code = code & " case " & """" & dr("名称") & """" & vbcrlf 
            code = code & dr("代码")  & vbcrlf 
        End If
    Next
Next
code= code & "end  Select  " & vbcrlf 
Functions.Remove("nav")
Functions.Add("nav",Code)
Functions.Complie 

[此贴子已经被作者于2021/11/19 15:18:11编辑过]

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


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

这种代码我看不出有什么问题。

测试提示什么错误?测试结果什么地方有问题?

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


加好友 发短信
等级:幼狐 帖子:121 积分:1097 威望:0 精华:0 注册:2019/12/27 20:56:00
  发帖心情 Post By:2021/11/19 15:19:00 [只看该作者]

在启动未将对象引用设置到对象的实例。

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


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

……
code= code & "end  Select  " & vbcrlf 
ouput.show(code把拼接的代码放到内部函数里测试,打开命令窗口执行上面代码,把ouput.show的内容发呆一个内部函数里测试、调试

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


加好友 发短信
等级:幼狐 帖子:121 积分:1097 威望:0 精华:0 注册:2019/12/27 20:56:00
  发帖心情 Post By:2021/11/19 15:23:00 [只看该作者]

本来是好用的,但是我加了一列可不可见列,然后加了一段判断可不可见的代码,然后启动时就出现了
“未将对象引用设置到对象的实例。”


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


加好友 发短信
等级:幼狐 帖子:121 积分:1097 威望:0 精华:0 注册:2019/12/27 20:56:00
  发帖心情 Post By:2021/11/19 15:24:00 [只看该作者]

Dim roles() As String = _userGroup.Split(",") 
For Each role As String In roles 
    Dim drs As List(Of DataRow) = DataTables("导航").Select("可不可见 = '" & role & "' or 可不可见 like '" & role & ",*' or 可不可见 like '*," & role & ",*' Or 可不可见 like '*," & role & "'") 
    For Each dr As DataRow In drs

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


加好友 发短信
等级:幼狐 帖子:121 积分:1097 威望:0 精华:0 注册:2019/12/27 20:56:00
  发帖心情 Post By:2021/11/19 15:25:00 [只看该作者]

肯定是这段代码出错了  我又不知道如何出的错


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


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

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错

Dim drs As List(Of DataRow) = DataTables("导航").Select("',' +可不可见+',' like '%," & role & ",%'") 

 回到顶部