以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  表所在窗体判断 报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185254)

--  作者:lzgt
--  发布时间:2023/2/13 11:45:00
--  表所在窗体判断 报错
\'If e.Table.Form Is Nothing AndAlso e.Table.Current Is Nothing Then Return \'未将对象引用设置到对象的实例。

If e.Table.Form Is Nothing Then Return \'如果表所在窗体为Nothing
If e.Table.Current Is Nothing Then Return \'如果表当前记录为Nothing
    
Select Case e.Table.Form.name
    Case "frm6_jczlwlkh"
        DataTables("tbl_jczl_wlkhdz").LoadFilter = "[khbh] = \'" & E.Table.current("khbh") & "\'"
        DataTables("tbl_jczl_wlkhdz").Load
        
        If Forms("frm6_jczlwlkh").Controls("SplitContainer3").Panel2.Collapsed = True Then
           Forms("frm6_jczlwlkh").Controls("SplitContainer3").Panel2.Collapsed = False
        End If 
End Select

在表的 CurrentChanged 事件中代码如下  用第一行(已改为注释) 报错未将对象引用设置到对象的实例。经调试后改为了第二行&第三行 报错就没有了。 是写法错误吗,请指教!

--  作者:有点蓝
--  发布时间:2023/2/13 11:58:00
--  

If e.Table.Form Is Nothing
orelse e.Table.Current Is Nothing Then Return 
--  作者:lzgt
--  发布时间:2023/2/13 12:11:00
--  
我本意是要判断两个条件同时满足( 表所在的窗体已打开,且存在当前记录)
--  作者:有点蓝
--  发布时间:2023/2/13 12:14:00
--  
说明还是不理解逻辑判断的用法

同时满足应该这样
If e.Table.Form Isnot Nothing andalso e.Table.Current Isnot Nothing Then
Select Case e.Table.Form.name
……
……
endif