以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  退出项目前判断,任何一个表的任意一行都不能为空,否则不能退出项目  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89263)

--  作者:lovemaders
--  发布时间:2016/8/18 10:50:00
--  退出项目前判断,任何一个表的任意一行都不能为空,否则不能退出项目
退出项目前判断,任何一个表的任意一行都不能为空,否则不能退出项目,求代码
--  作者:大红袍
--  发布时间:2016/8/18 10:56:00
--  
For Each t As Table In Tables
    For Each r As Row In t.rows
        For Each c As Col In t.cols
            If r.IsNull(c.name) Then
                msgbox("有空行")
                e.cancel = true
                Return
            End If
        Next
    Next
Next

--  作者:lovemaders
--  发布时间:2016/8/18 11:28:00
--  我总共就5个表都加载了
我总共就5个表都加载了,没有空行了,我每个表都打开看了,为甚么还是提示有空行呢。
--  作者:大红袍
--  发布时间:2016/8/18 11:31:00
--  

 你对空行的定义是什么?

 

For Each t As Table In Tables
    For Each r As Row In t.rows
        Dim isNull As Boolean = True
        For Each c As Col In t.cols
            If r.IsNull(c.name) = False Then
                isNull = False
                Exit For
            End If
        Next
        If isNull Then
            msgbox(t.name & " " & r.index)

            e.Cancel = True
            Return
        End If
    Next
Next


--  作者:lovemaders
--  发布时间:2016/8/18 11:38:00
--  这样就可以了
这样就可以了,但是为甚么提示信息会提示2遍,之前的那个代码也会提示2遍
--  作者:大红袍
--  发布时间:2016/8/18 11:41:00
--  
 你是不是执行了两次close代码?
--  作者:lovemaders
--  发布时间:2016/8/18 12:01:00
--  关闭项目的代码
关闭项目按钮的代码是

Syscmd.Project.Exit()
vars("canClose") = True
basemainform.Close

 

关闭项目之前事件的代码是

If vars("canClose") = False Then
    e.Cancel = True
End If


--  作者:大红袍
--  发布时间:2016/8/18 12:02:00
--  

改成


vars("canClose") = True
Syscmd.Project.Exit()