Foxtable(狐表)用户栏目专家坐堂 → 如果控件不存在,取消操作


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

主题:如果控件不存在,取消操作

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
如果控件不存在,取消操作  发帖心情 Post By:2022/1/22 17:12:00 [只看该作者]

这样写在没有生成红色标注的控件时直接报控件不存在,我想如果控件不存在时点按钮保存直接取消操作,不弹出提示,其他代码没问题,我测试过了。
    Dim Str As String = fz.Value
    If Forms("主窗口").Controls("fenzhu").text = "" Then
        messagebox.show("请选择分组")
        Return
    End If
    Dim tbl As WinForm.Table = Forms("主窗口").Controls("Table'" & Str & "'")
    If Forms("主窗口").ExistControl("Table'" & Str & "'") Then
 Dim drs As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "'","","本轮止累计积分 Desc,本轮止曾交战对手累计积分 Desc")
        If drs IsNot Nothing Then
            Dim i1 As Integer = 1
            For n As Integer = 0 To drs.Count - 1 '遍历所有行
                If n = 0 Then
                    drs(n)("名次") = i1
                ElseIf n > 0 Then
                    If drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本轮止曾交战对手累计积分") = drs(n-1)("本轮止曾交战对手累计积分") Then
                        i1 = i1
                        drs(n)("名次") = i1
                    ElseIf drs(n)("本轮止累计积分") < drs(n-1)("本轮止累计积分") _
                        OrElse (drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本轮止曾交战对手累计积分") < drs(n-1)("本轮止曾交战对手累计积分")) _
                        OrElse (drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本轮止曾交战对手累计积分") > drs(n-1)("本轮止曾交战对手累计积分")) _
                        OrElse drs(n)("本轮止累计积分") > drs(n-1)("本轮止累计积分") Then
                        i1 = i1 + 1
                        drs(n)("名次") = i1
                    End If
                End If
                drs(n).Save
            Next
        End If
        DataTables("比赛积分").SQLUpdate(drs)
        DataTables("比赛积分").load
    Else
        Return
    End If

[此贴子已经被作者于2022/1/22 17:12:22编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110798 积分:563928 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/22 17:20:00 [只看该作者]

调换位置咯,先判断再使用

    If Forms("主窗口").ExistControl("Table'" & Str & "'") Then
    Dim tbl As WinForm.Table = Forms("主窗口").Controls("Table'" & Str & "'")

 回到顶部