以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  控件空值判断  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171196)

--  作者:1498351234
--  发布时间:2021/8/21 13:16:00
--  控件空值判断
老师好:
Dim tbl As WinForm.Table
If tbl=nothing Then 
msgbox(1)
End If

怎样才能判断这个tbl是空的,还是不空的。用 is null 也不行啊.太难了!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:进项发票代码.txt


但是怎样判断这个 tbl Is Nothing 总是true.实际上这个tbl.Name,当点击第二行是就有的
[此贴子已经被作者于2021/8/21 14:32:01编辑过]

--  作者:有点蓝
--  发布时间:2021/8/21 13:39:00
--  
Dim tbl As WinForm.Table
If tbl Is Nothing Then
    msgbox(1)
End If


--  作者:1498351234
--  发布时间:2021/8/21 14:43:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1629528030(1).png
图片点击可在新窗口打开查看
老师好:

如果不删除这个控件就会出现错误,说这个tbl表是已经存在的
图片点击可在新窗口打开查看此主题相关图片如下:1629528009(1).png
图片点击可在新窗口打开查看

这个问题弄了一整天都没有整好!
谢谢老师帮忙!
[此贴子已经被作者于2021/8/21 14:50:20编辑过]

--  作者:有点蓝
--  发布时间:2021/8/21 14:54:00
--  

If Forms("维护").Opened Then
    If e.Col.Name="进项发票核销"   Then
        
        If e.Row("是否抵扣二次票") = True And e.Row.Isnull("进项发票核销")  Then
            e.Table.AllowEdit  = False
            Dim xmbh As String = e.Row("项目编号")
            Dim sql As String="Select  项目编号,发票编号,开票单位,开票金额,二次票使用余额 AS 使用余额 From {进项发票}  "  \'基本sql语句
            Dim firstPage As WinForm.TabControl = e.Form.Controls("TabControl2")  \'定义页控件变量
            For Each page As WinForm.TabPage In firstPage.TabPages
                If page.Text="进项发票"  Then
                    firstPage.SelectedPage = page
                    sql = sql &  rqzh         \'加日期转换为近160天以内的二次票
Exit For
                End If
            Next

        If e.Form.ExistControl("进项发票_Table")  Then
             e.Form.RemoveControl("进项发票_Table")    \'在这里当试图判断,tbl是否存在,如果有则删除了重建. \'firstPage.SelectedPage.RemoveControl(tbl) 如果没有
        End If

            \'Dim tbl As WinForm.Table
            Dim tbl As WinForm.Table = e.Form.CreateSQLQuery("进项发票_Table" ,sql ,"data_wy")     \'动态创建二次发票已过滤的与该费用申请项相同的发票
            tbl.SetBounds(10, 10, 800, 400)
            firstPage.SelectedPage.AddControl(tbl)
            Tables("维护_进项发票_Table").ShowCheckBox = True
            \'设置列宽
            \'单元格对齐方式
            \'开通全局表事件
            DataTables("维护_进项发票_Table").GlobalHandler.AfterCheckRow = True
            e.Row("进项发票核销") ="已经填写"
            \'firstPage.SelectedPage.RemoveControl(tbl)
        End If
    End If
End If

--  作者:1498351234
--  发布时间:2021/8/21 15:14:00
--  
谢谢了!