Foxtable(狐表)用户栏目专家坐堂 → 求公式:如果当前行为空,则对应筛选无结果


  共有2538人关注过本帖树形打印复制链接

主题:求公式:如果当前行为空,则对应筛选无结果

帅哥哟,离线,有人找我吗?
everybody
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
求公式:如果当前行为空,则对应筛选无结果  发帖心情 Post By:2015/8/7 17:17:00 [只看该作者]

If Tables("得piao").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
按此在新窗口浏览图片

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/7 17:20:00 [只看该作者]

If Tables("得piao").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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/8/7 17:39:00 [只看该作者]

这样都给你想到?!哈哈

 回到顶部
帅哥哟,离线,有人找我吗?
everybody
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/8/8 12:58:00 [只看该作者]

不过,经测试,如果当前行由多行删除至无行的时候,还是会出现错误提示。上述代码哪里出错了?

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


删行公式为


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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/8 14:26:00 [只看该作者]

删除写到currentchanged下确实不适合,你想,这个行有变化了,然后删除了后变为空值,接下来的操作就是面对空值的操作....。

 回到顶部
帅哥哟,离线,有人找我吗?
everybody
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/8/9 10:44:00 [只看该作者]

老大误会了,

currentchanged公式是:

If Tables("得piao").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("得piao").Current IsNot Nothing Then
    Tables("得piao").Current.Delete
End If

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


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/9 11:35:00 [只看该作者]

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


 回到顶部