以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关闭窗口问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193725)

--  作者:lgz518
--  发布时间:2024/10/8 14:21:00
--  关闭窗口问题
\'\'AfterClose
需求1:当表A的dr("数量1") <> dr("数量2")提示,并不能关闭窗口

\'Dim dr As Row = Tables("表A").current\'
\'If dr("数量1") <> dr("数量2") Then
\'    MessageBox.Show("数量不符!", "提示:不能保存,请检查分录!!!", MessageBoxButtons.OK, MessageBoxIcon.Information)
\'    e.Cancel = True\'不能关闭窗口
    
\'Else 
\'    e.Cancel = False\'可关闭窗口
\'End If


表A与表B是用代码实现模拟关系
需求2:如果表A有记录,表B为空或没记录,不能关闭窗口
If DataTables("表B").compute("count(_identify)", "单号ID is null") > 0 Then
    MessageBox.Show("请输单号!", "提示", MessageBoxButtons.OK , MessageBoxIcon.Information)
    e.Cancel = True\'不能关闭窗口
End If

上面代码执行,失效,没报错,如何处理?

--  作者:有点蓝
--  发布时间:2024/10/8 14:30:00
--  
放到窗口beforeclose事件
--  作者:lgz518
--  发布时间:2024/10/8 16:03:00
--  
表A与表B是用代码实现模拟关系
需求2:如果表A有记录,表B为空或没记录,不能关闭窗口
If DataTables("表B").compute("count(_identify)", "单号ID is null") > 0 Then
    MessageBox.Show("请输单号!", "提示", MessageBoxButtons.OK , MessageBoxIcon.Information)
    e.Cancel = True\'不能关闭窗口
End If

这个失效,表A有记录,表B为空或没记录,还是有能关闭窗口,没达到需求,如何解决?还有如果没保存也不能关闭窗口,如何实现?

--  作者:有点蓝
--  发布时间:2024/10/8 16:13:00
--  
If DataTables("表B").datarows.count = 0 orelse DataTables("表B").compute("count(_identify)", "单号ID is null") > 0 orelse DataTables("表B").HasChanges Then