以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求公式:如果当前行为空,则对应筛选无结果  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72863)

--  作者:everybody
--  发布时间:2015/8/7 17:17:00
--  求公式:如果当前行为空,则对应筛选无结果

If Tables("得票").Current Is Nothing Then \'如果Current为Nothing
    Return----------------------------------------------------------------》这里怎么改?要求应该是是如果当前行为空,“测评”表应该也是没有筛选结果
Else
    If Forms("登记").Opened Then
        Tables("测评").Filter = "任务组编号 = \'" & e.Table.current("任务组编号") & "\'"  & " and [删除] = False Or [删除] Is Null "
    End If
End If

 

 


此主题相关图片如下:qq截图20150807171352.png
按此在新窗口浏览图片

--  作者:大红袍
--  发布时间:2015/8/7 17:20:00
--  
If Tables("得票").Current Is Nothing Then \'如果Current为Nothing
    Tables("测评").Filter  = "1=2"
Else
    If Forms("登记").Opened Then
        Tables("测评").Filter = "任务组编号 = \'" & e.Table.current("任务组编号") & "\'"  & " and ([删除] = False Or [删除] Is Null) "
    End If
End If

--  作者:everybody
--  发布时间:2015/8/7 17:39:00
--  
这样都给你想到?!哈哈
--  作者:everybody
--  发布时间:2015/8/8 12:58:00
--  
不过,经测试,如果当前行由多行删除至无行的时候,还是会出现错误提示。上述代码哪里出错了?

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:得票,CurrentChanged
详细错误信息:
未将对象引用设置到对象的实例。


删行公式为


If Tables("得票").Current IsNot Nothing Then
    Tables("得票").Current.Delete
End If
[此贴子已经被作者于2015/8/8 12:58:15编辑过]

--  作者:有点蓝
--  发布时间:2015/8/8 14:26:00
--  
删除写到currentchanged下确实不适合,你想,这个行有变化了,然后删除了后变为空值,接下来的操作就是面对空值的操作....。
--  作者:everybody
--  发布时间:2015/8/9 10:44:00
--  
老大误会了,

currentchanged公式是:

If Tables("得票").Current Is Nothing Then \'如果Current为Nothing
    Tables("测评").Filter  = "1=2"
Else
    If Forms("登记").Opened Then
        Tables("测评").Filter = "任务组编号 = \'" & e.Table.current("任务组编号") & "\'"  & " and ([删除] = False Or [删除] Is Null) "
    End If
End If

窗口按钮click删行公式是

If Tables("得票").Current IsNot Nothing Then
    Tables("得票").Current.Delete
End If

当删行按钮,删至空值的话,currentchanged就面临空值的筛选,怎么办呢?加个判断句?


--  作者:大红袍
--  发布时间:2015/8/9 11:35:00
--  

 Tables("得票") 表只要不是本表,你4楼的代码就不能会报错。