Foxtable(狐表)用户栏目专家坐堂 → 菜单代码出现错误提示


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

主题:菜单代码出现错误提示

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
菜单代码出现错误提示  发帖心情 Post By:2023/8/29 9:17:00 [只看该作者]

菜单Selecttab事件代码如下:
If DataTables.Contains(RibbonTabs.SelectedTab.Name) = False Then '如果表C没有加载
    DataTables.Load(RibbonTabs.SelectedTab.Name) '加载表C
End If
MainTable = Tables(RibbonTabs.SelectedTab.Name)

Dim itm As Object
For Each itm In RibbonTabs(RibbonTabs.SelectedTab.Name).Groups(RibbonTabs.SelectedTab.name).Items  
    With RibbonTabs(RibbonTabs.SelectedTab.Name).Groups(RibbonTabs.SelectedTab.Name).Items(itm.name)
        If RibbonTabs.SelectedTab.Name <> "主界面" OrElse RibbonTabs.SelectedTab.Name <> "月末报表" Then
            If TypeOf itm Is RibbonMenu.ComboBox Then
                If DataTables(RibbonTabs.SelectedTab.Name).DataCols(itm.name).IsBoolean = False Then 
                    .Items.Clear 
                    For Each c As String In DataTables(RibbonTabs.SelectedTab.Name).SQLGetValues(itm.name, "", itm.name) 
                        Dim b As New RibbonMenu.Button(c)
                        b.Text = c
                        .Items.Add(b)
                    Next
                End If 
            End If
        End If
    End With
Next

前期没问题 ,今天忽然出现错误提示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:菜单,SelectTab
详细错误信息:
未设置对象变量或 With 块变量。

没分析出是什么原因导致,请老师指导

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


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

调试

Dim itm As Object
msgbox(RibbonTabs.SelectedTab.Name)
msgbox(RibbonTabs(RibbonTabs.SelectedTab.Name).Groups(RibbonTabs.SelectedTab.name).Items.count)
For Each itm In RibbonTabs(RibbonTabs.SelectedTab.Name).Groups(RibbonTabs.SelectedTab.name).Items  
msgbox(itm.name)
    With itm
        If RibbonTabs.SelectedTab.Name <> "主界面" OrElse RibbonTabs.SelectedTab.Name <> "月末报表" Then
            If TypeOf itm Is RibbonMenu.ComboBox Then
                If DataTables(RibbonTabs.SelectedTab.Name).DataCols(itm.name).IsBoolean = False Then 
                    .Items.Clear 
                    For Each c As String In DataTables(RibbonTabs.SelectedTab.Name).SQLGetValues(itm.name, "", itm.name) 
                        Dim b As New RibbonMenu.Button(c)
                        b.Text = c
                        .Items.Add(b)
                    Next
                End If 
            End If
        End If
    End With
Next

 回到顶部